Python-Protokollierungskonfigurationsdatei

Ich zu sein scheinen mit einigen Problemen beim implementieren der Protokollierung in mein python Projekt.

Ich bin einfach nur versuchen zu imitieren die folgende Konfiguration:

Python-Logging, um Mehrere Ziele

Jedoch statt dies zu tun, im inneren des Codes, ich hätte es gern in einer Konfigurationsdatei.

Unten ist meine config Datei:

[loggers]
keys=root

[logger_root]
handlers=screen,file

[formatters]
keys=simple,complex

[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s

[formatter_complex]
format=%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(lineno)d - %(message)s

[handlers]
keys=file,screen

[handler_file]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=5
formatter=complex
level=DEBUG
args=('logs/testSuite.log',)

[handler_screen]
class=StreamHandler
formatter=simple
level=INFO
args=(sys.stdout,)

Das problem ist, dass mein Bildschirm-Ausgabe sieht so aus:
2010-12-14 11:39:04,066 - root - WARNUNG - 3
2010-12-14 11:39:04,066 - root - ERROR - 4
2010-12-14 11:39:04,066 - root - KRITISCHE - 5

Meine Datei ausgegeben werden, sieht aber das gleiche wie oben (wenn auch mit der zusätzliche Informationen enthalten). Aber die debug-und info-Ebenen werden nicht ausgegeben.

Bin ich auf Python 2.7

Hier ist mein einfaches Beispiel zeigt Fehler:

import os
import sys
import logging
import logging.config

sys.path.append(os.path.realpath("shared/"))
sys.path.append(os.path.realpath("tests/"))

class Main(object):

  @staticmethod
  def main():
    logging.config.fileConfig("logging.conf")
    logging.debug("1")
    logging.info("2")
    logging.warn("3")
    logging.error("4")
    logging.critical("5")

if __name__ == "__main__":
  Main.main()

InformationsquelleAutor der Frage Scott | 2010-12-14

Schreibe einen Kommentar