Die Python logging module ist umständlich zu bedienen. Gibt es eine elegantere Alternative? Die Integration mit Desktop-Benachrichtigungen wäre von Vorteil.Python Protokollierung Alternativen
Antwort
Sie können in Twiggy schauen, es ist ein früher Versuch, eine pythischere Alternative zum Logging-Modul zu bauen.
ha! Log -> Zweig – hoju
Ich stimme zu! Ha! Nahm mich eine Sekunde, um es zu bekommen. – synthesizerpatel
scheint tot ... letzten commit war vor mehr als einem Jahr – 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
können Sie Logfile mit Konsole und Datei config, ich glaube nicht, Desktop notication eine gute Idee ist, können Sie die Log-Informationen von der Konsole und Logfiles sehen
Sie vielleicht einen Blick haben wollen auf pysimplelog. Es ist reiner Python, sehr einfach zu bedienen, pip installierbar und bietet, was Sie brauchen
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
und mit diesen Parametern, a ‚simplelog.log‘ Datei wird
+1 Hey, das sieht cool aus! Eine Anmerkung jedoch: Ich würde nicht empfehlen, Logging * außerhalb einer Funktionsdefinition * zu verwenden, bevor bekannt ist, ob das sicher ist (https://stackoverflow.com/questions/46356672/). –
- 1. Python-Protokollierung: Protokollierung setLevel() wird nicht erzwungen?
- 2. ThreadPoolExecutor-Protokollierung? (Python)
- 3. Python Protokollierung typeerror
- 4. Python globale Protokollierung
- 5. Python Protokollierung Datagramm Handler
- 6. Welche anderen Alternativen zur log4net-Protokollierung gibt es?
- 7. Zusammenfassung Anzahl für Python-Protokollierung
- 8. Python-Protokollierung mit einem Decorator
- 9. benutzerdefinierte Python-Protokollierung hinzufügen lvlname
- 10. Python Protokollierung über mehrere Module
- 11. Python-Protokollierung dupliziert die Protokollnachrichten
- 12. Python-Multiprocessing-Protokollierung - warum multiprocessing.get_logger
- 13. Spült python Protokollierung jedes Protokoll?
- 14. Bluemix-Protokollierung für Python-Anwendungen
- 15. Python Protokollierung - Deaktivieren Sie die Protokollierung von importierten Module
- 16. Alternativen zu Urllib in Python
- 17. Python cgi FieldStorage langsam, Alternativen?
- 18. Konvertieren Python-Ausnahmeinformationen in Zeichenfolge für Protokollierung
- 19. Protokollierung und Vererbung von Loggerkonfigurationen in Python
- 20. Python-Protokollierung: Ausgabe auf stdout deaktivieren
- 21. Python Best Practices in Bezug auf Protokollierung
- 22. Python Tornado - Deaktivieren der Protokollierung in stderr
- 23. Wie Protokollierung deaktivieren mit Selen mit Python
- 24. Python - Protokollierung fordert Statistiken Zusammenfassung mit Heuschrecke
- 25. AWS Elastic Beanstalk-Protokollierung mit Python (Django)
- 26. Python-Protokollierung nicht in Datei speichern
- 27. Python-Protokollierung - Ermitteln der Ebenenanzahl von Name
- 28. Python: benutzerdefinierte Protokollierung über alle Module
- 29. Python-Protokollierung: Nachricht nur einmal drucken
- 30. Was ist die Standard-Python-Protokollierung Formatierer
sieht vielversprechend aus für Sie automatisch erstellt und aktualisiert werden: http : //packages.python.org/Logbook – hoju
Inwiefern finden Sie das Protokollierungsmodul umständlich? Was fehlt an seinen Fähigkeiten? –
hast du es benutzt? Es ist kein Python. – hoju