Protokollierung in python
möchte ich auf die Erstellung von separaten logging-Datei in python, wie zum Beispiel info.log, debug.log, error.log habe ich eine Einstellung Datei(Protokollierung.conf) für die Anmeldung wie unten angegeben
[loggers]
keys=root,simpleExample
[handlers]
keys=consoleHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
und ich erstellt haben logging.py Datei wie unten angegeben
import logging
import logging.config
logging.config.fileConfig('logging.conf')
# create logger
logger = logging.getLogger('simpleExample')
# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
aber beim ausführen von logging.py Datei erhalte ich Folgendes Ergebnis in consol
2012-12-10 13:30:20,030 - simpleExample - DEBUG - debug message
2012-12-10 13:30:20,031 - simpleExample - INFO - info message
2012-12-10 13:30:20,032 - simpleExample - WARNING - warn message
2012-12-10 13:30:20,032 - simpleExample - ERROR - error message
2012-12-10 13:30:20,033 - simpleExample - CRITICAL - critical message
als ich gesagt habe, ich möchte erstellen Sie separate Datei in log.info, debug.info, error.info.
vielen Dank im Voraus
- Das wäre eine benutzerdefinierte handler, der hat sowohl eine minimale und eine maximale log-level. Normalerweise gibt es nur eines minimalen Niveaus (die, intern, numerisch sind).
- ich weiß nicht, haben die Idee, erstellen Sie benutzerdefinierte handler in der Protokollierung.conf-Datei, können Sie jeden link oder Hinweis, der mir helfen wird.
- Es wird keine leichte Aufgabe, kann ich nur verweisen Sie auf die
logging
Modul-Dokumentation wirklich. Ich würde überdenken, warum Sie wollen, um separate Dateien, die in den ersten Platz. - Ich fände es verwirrend, wenn die Protokollierung in verschiedenen Dateien, auch von mir. Wenn die Diagnose ein problem, ich möchte genau wissen, um Nachrichten aufgezeichnet wurden, und dass die verschiedenen Ebenen getrennt machen würde, dass sehr viel schwieriger.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie config mehrere handler zur Ausgabe verschiedene log-level auf verschiedene Dateien. Zum Beispiel, Sie wollen zu INFO-log-level auf info.anmelden können Sie definieren, einen fileHandler mit INFO-filer
Und fügen Sie es auf die Protokollierung-namespace:
so können Sie Sie in Ihre config-Datei:
Können Sie weiterhin andere hinzuzufügen, oder verwenden Sie Ebene als handler args.