A forma que encontrei foi o de logar todas as ocorrências. Como Python tem o módulo logging resolvi procurar e encontrei um exemplo funcional. Em tempo, ele não fazia rotação de log, o que é importante para o arquivo não crescer demasiadamente segue a devida alteração.
Desculpe pela falta de syntaxhighlighting pq troquei o "desenho" do blog e o recurso acabou se perdendo.
#!/usr/bin/python
import logging
import logging.handlers
def configure_logger(log_file):
"""Accepts a fully-qualified filename to the log file.
Returns a fully-configured logger object.
"""
logger = logging.getLogger('ProgramName')
log_formatter = logging.Formatter('%(created)-13s %(asctime)s Pid:%(process)s %(levelname)s %(message)s Thread:%(thread)s Thread Name:%(threadName)s Name:%(name)s File:%(filename)s Module: %(module)s Function Name:%(funcName)s')
file_handler = logging.handlers.RotatingFileHandler(log_file, maxBytes=1024, backupCount=5)
#file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(log_formatter)
logger.setLevel(logging.DEBUG)
logger.addHandler(file_handler)
return logger
if __name__ == "__main__":
LOG = configure_logger('logfile.txt')
LOG.debug('This is debug level')
LOG.info('This is info level')
LOG.warning('This is warning level')
LOG.error('This is error level')
LOG.critical('This is critical level')
fontes:
http://schof.org/2010/basic_python_logging/
http://schof.org/basic_python_logging.py
Nenhum comentário:
Postar um comentário