0
코드의이 부분 유무 : 예는 뭔가 다른 아마은 처리하려고 logging.error
코드의이 부분 유무 : 예는 뭔가 다른 아마은 처리하려고 logging.error
을 데이터베이스에 로그 저장하거나 할 수 있도록 내가 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)
가장 간단한 대답은 서로 다른 로깅 수준을 가진 여러 핸들러를 사용하는 것입니다. logging
docs에서, 여기 당신이 달성 하려는지의 완벽한 예입니다
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')
예는 제공이 두 로그 레벨 유형 서식 DEBUG
및 ERROR
수준 핸들러입니다.
아마도 다른 해결책은 logging
모듈 구성을 처리하기 위해 dictConfig
을 사용하는 것입니다. 그러면 구조가 dictionary
형식으로 처리되고 level
특성에 여러 값을 제공 할 수 있습니다.
응용 프로그램 내에서 * 의미합니까? 해당 수준의 로그를 처리하는 새 처리기를 만들고 추가해야합니다. – jonrsharpe
당신은이 블로그를보고 적응할 수 있습니다 : https://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/logging/sqlalchemy_logger.html –
@LaurentLAPORTE, 도와 줘서! –