2017-09-15 3 views
0

Avoir cette partie du code:Essayer de gérer logging.error

import logging 

logFormatter = logging.Formatter(u'#%(levelname)-8s [%(asctime)s] [LINE:%(lineno)d] %(filename)-8s %(message)s',) 
logger = logging.getLogger() 
logger.setLevel(logging.INFO) 

consoleHandler = logging.StreamHandler() 
consoleHandler.setFormatter(logFormatter) 

logger.addHandler(consoleHandler) 

Comment puis-je gérer logging.error appel, par exemple pour enregistrer vous connecter base de données ou faire quelque chose d'autre

+0

Vous voulez dire * dans * l'application? Vous devez créer et ajouter un nouveau gestionnaire qui traite les journaux de ce niveau. – jonrsharpe

+0

Vous pouvez jeter un oeil à ce blog et adapter: https://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/logging/sqlalchemy_logger.html –

+0

@LaurentLAPORTE, merci, aidé! –

Répondre

1

Probablement le la réponse la plus simple est d'utiliser plusieurs gestionnaires, configuration avec différents niveaux de journalisation. De l'logging docs, voici un exemple parfait de ce que vous essayez d'atteindre:

import logging 

logger = logging.getLogger('simple_example') 
logger.setLevel(logging.DEBUG) 
# create file handler which logs even debug messages 
fh = logging.FileHandler('spam.log') 
fh.setLevel(logging.DEBUG) 
# create console handler with a higher log level 
ch = logging.StreamHandler() 
ch.setLevel(logging.ERROR) 
# create formatter and add it to the handlers 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
ch.setFormatter(formatter) 
fh.setFormatter(formatter) 
# add the handlers to logger 
logger.addHandler(ch) 
logger.addHandler(fh) 

# 'application' code 
logger.debug('debug message') 
logger.info('info message') 
logger.warn('warn message') 
logger.error('error message') 
logger.critical('critical message') 

L'exemple fournit à la fois le gestionnaire de niveau DEBUG et ERROR mise en forme pour ces types de niveau de journal.

Une autre solution consiste peut-être à utiliser dictConfig pour gérer la configuration du module python logging. Cela gérerait la structure d'une manière de type dictionary et vous pouvez fournir plusieurs valeurs à l'attribut level.