Python logging module jest uciążliwy w użyciu. Czy istnieje bardziej elegancka alternatywa? Integracja z powiadomieniami na pulpicie byłaby plusem.rejestracja pytona alternatywna
Odpowiedz
Możesz zajrzeć na Twiggy, to wczesny etap próba zbudowania bardziej pythonic alternatywę dla modułu rejestrowania.
ha! log -> twig – hoju
Zgadzam się! Ha! Zajęło mi sekundę, żeby to zdobyć. – synthesizerpatel
wydaje się martwy ... ostatnie zatwierdzenie było ponad rok temu – Tshepang
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
import logging.handlers
from logging.config import dictConfig
logger = logging.getLogger(__name__)
DEFAULT_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
}
def configure_logging(logfile_path):
"""
Initialize logging defaults for Project.
:param logfile_path: logfile used to the logfile
:type logfile_path: string
This function does:
- Assign INFO and DEBUG level to logger file handler and console handler
"""
dictConfig(DEFAULT_LOGGING)
default_formatter = logging.Formatter(
"[%(asctime)s] [%(levelname)s] [%(name)s] [%(funcName)s():%(lineno)s] [PID:%(process)d TID:%(thread)d] %(message)s",
"%d/%m/%Y %H:%M:%S")
file_handler = logging.handlers.RotatingFileHandler(logfile_path, maxBytes=10485760,backupCount=300, encoding='utf-8')
file_handler.setLevel(logging.INFO)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(default_formatter)
console_handler.setFormatter(default_formatter)
logging.root.setLevel(logging.DEBUG)
logging.root.addHandler(file_handler)
logging.root.addHandler(console_handler)
[31/10/2015 22:00:33] [DEBUG] [yourmodulename] [yourfunction_name():9] [PID:61314 TID:140735248744448] this is logger infomation from hello module
można config logfile z konsoli i pliku, nie sądzę pulpit notication jest dobrym pomysłem, można zobaczyć informacje dziennika z konsoli i logów
Czasami warto spojrzeć na pysimplelog. To czysta pyton, bardzo prosty w obsłudze, pip zainstalować i zapewnia co trzeba
from pysimplelog import Logger
L=Logger()
print L
>>> Logger (Version 0.2.1)
>>> log type |log name |level |std flag |file flag |
>>> ----------|----------|----------|----------|----------|
>>> debug |DEBUG |0.0 |True |True |
>>> info |INFO |10.0 |True |True |
>>> warn |WARNING |20.0 |True |True |
>>> error |ERROR |30.0 |True |True |
>>> critical |CRITICAL |100.0 |True |True |
L.info('I am an info')
>>> 2016-09-26 15:01:17 - logger <INFO> I am an info
L.warn('I am a warning')
>>> 2016-09-26 15:01:17 - logger <WARNING> I am a warning
L.error('I am an error')
>>> 2016-09-26 15:01:17 - logger <ERROR> I am an error
iz tych parametrów, a „simplelog.log” plik zostanie utworzony i aktualizowany automatycznie za ciebie
+1 Hej, który wygląda świetnie! Jedna uwaga jednak: Nie polecam używania rejestrowania * poza definicją funkcji * zanim nie zostanie ona znana [czy jest to bezpieczne] (https://stackoverflow.com/questions/46356672/). –
- 1. alternatywna setButton
- 2. Alternatywna kombinacja Y definicji
- 3. Alternatywna bramka SMS Clickatell?
- 4. ListActivity TwoLineListItem alternatywna
- 5. Alternatywna metoda setHours() java.util.Date?
- 6. metoda alternatywna zabić wątek
- 7. Samodzielna wersja S3 alternatywna
- 8. Emacs EBC alternatywna
- 9. Alternatywna składnia do __block?
- 10. Alternatywna składnia przełącznika
- 11. Google Map Alternatywna
- 12. Dowolna alternatywna metoda odlewania klas
- 13. Alternatywna pozycja geom_text z hjustem
- 14. Alternatywna metoda ładowania w Swift
- 15. Automatyczna rejestracja fabryczna
- 16. Jak działa rejestracja domeny?
- 17. Rejestracja BroadcastReceiver przychodzących SMS
- 18. Nieprawidłowa rejestracja eip?
- 19. Rejestracja użytkownika CouchApp
- 20. Rejestracja MySQL Inner Join
- 21. Django Seler Zadanie Rejestracja
- 22. Rejestracja rejestru MIPS $ gp
- 23. typ AutoFixture Rejestracja globalnie
- 24. rejestracja aplikacji web2py
- 25. log z pytona logowanie
- 26. użyciu CPD na pytona
- 27. Symulacja sesji interaktywnego pytona
- 28. wykonywania zadań równolegle pytona
- 29. Korzystanie supercollider z pytona
- 30. PLS-DA algorytm pytona
wygląda obiecująco: http : //packages.python.org/Logbook – hoju
W jaki sposób moduł logowania jest uciążliwy? Czego brakuje w jego możliwościach? –
użyłeś tego? To nie jest pyton. – hoju