python 3.2 / nouveau module logging / config dic JSON [résolu]

python 3.2 / nouveau module logging / config dic JSON [résolu] - Python - Programmation

Marsh Posté le 10-03-2011 à 23:17:18    

Bonsoir,
j'apprends à utiliser le nouveau module logging de Python 3.2 (http://docs.python.org/dev/library/logging.html).
 
La configuration est vraiment très simple et peut se faire à l'aide d'un fichier au format json, du style :

{"version": 1,
 "formatters": {"brief": {"format": "%(message)s"},
                "full": {"format": "%(asctime)s %(name)-15s %(levelname)-8s %(message)s"}
                },
 "handlers": {"console": {
                   "class": "logging.StreamHandler",
                   "formatter": "brief",
                   "level": "INFO",
                   "stream": "ext://sys.stdout"},
                  ############# je zappe les autres handlers ######################"
              },
 "loggers": {"mon_logger": {
       "level": "DEBUG", "handlers": ["console", "console_priority","file","debugfile"]}},
 "root": {"level": "DEBUG", "handlers": ["console", "console_priority","file","debugfile"]}}


Bon, tout ceci fonctionne bien MAIS : pour l'instant j'utilise le logger 'root' (par défaut). Or j'aimerais utiliser mon logger personnalisé 'mon_logger'. Je n'ai pas compris comment le faire savoir au module logging. Par exemple, un appel à : logging.info('message') utilise par défaut 'root'.
 
Voyez-vous comment m'aider ? Merci d'avance !


Message édité par suizokukan le 11-03-2011 à 08:31:14

---------------
rule #1 : trust the python
Reply

Marsh Posté le 10-03-2011 à 23:17:18   

Reply

Marsh Posté le 11-03-2011 à 08:30:46    

Bon, j'ai trouvé en lisant complètement cet excellent tutoriel : http://docs.python.org/dev/howto/l [...] c-tutorial.

 

Tout est indiqué ici :

 

import logging

 

# create logger
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

 

# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

 

# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

 

# add formatter to ch
ch.setFormatter(formatter)

 

# add ch to logger
logger.addHandler(ch)

 

# 'application' code
logger.debug('debug message')

 

Merci à ceux qui m'ont lu !


Message édité par suizokukan le 15-03-2011 à 09:01:27

---------------
rule #1 : trust the python
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed