记录到具有不同设置的两个文件

2023-11-30

我已经在使用基本的日志记录配置,其中所有模块的所有消息都存储在单个文件中。但是,我现在需要一个更复杂的解决方案:

  • 两个文件:第一个保持不变。
  • 第二个文件应该有一些自定义格式。

我一直在阅读该模块的文档,但目前它们对我来说非常复杂。记录仪、处理程序...

所以,简而言之:

如何在Python 3中记录两个文件,即:

import logging
# ...
logging.file1.info('Write this to file 1')
logging.file2.info('Write this to file 2')

你可以这样做:

import logging
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')


def setup_logger(name, log_file, level=logging.INFO):
    """To setup as many loggers as you want"""

    handler = logging.FileHandler(log_file)        
    handler.setFormatter(formatter)

    logger = logging.getLogger(name)
    logger.setLevel(level)
    logger.addHandler(handler)

    return logger

# first file logger
logger = setup_logger('first_logger', 'first_logfile.log')
logger.info('This is just info message')

# second file logger
super_logger = setup_logger('second_logger', 'second_logfile.log')
super_logger.error('This is an error message')

def another_method():
   # using logger defined above also works here
   logger.info('Inside method')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记录到具有不同设置的两个文件 的相关文章

随机推荐