Je semble rencontrer quelques problèmes lors de la tentative d'implémentation de la connexion dans mon projet python.Fichier de configuration de journalisation Python
Je suis tout simplement essayer d'imiter la configuration suivante:
Python Logging to Multiple Destinations
Cependant, au lieu de le faire à l'intérieur du code, je voudrais avoir dans un fichier de configuration.
Ci-dessous mon fichier de configuration:
[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,)
Le problème est que ma sortie de l'écran ressemble à:
2010-12-14 11: 39: 04066 - root - AVERTISSEMENT - 3
2010-12 -14 11: 39: 04066 - root - eRREUR - 4
2010-12-14 11: 39: 04066 - racine - CRITIQUE - 5
Mon fichier est sortie, mais il semble même que ci-dessus (même si la informations supplémentaires incluses). Toutefois, les niveaux de débogage et d'informations ne sont pas affichés non plus.
Je suis sur Python 2.7
Voici mon exemple simple montrant l'échec:
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()