本文介绍了登录到具有不同设置的两个文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经在使用基本的日志记录配置,其中所有模块中的所有消息都存储在一个文件中.但是,我现在需要一个更复杂的解决方案:
I am already using a basic logging config where all messages across all modules are stored in a single file. However, I need a more complex solution now:
- 两个文件:第一个保持不变.
- 第二个文件应具有一些自定义格式.
我一直在阅读该模块的文档,但对于我而言,它们现在非常复杂.记录器,处理程序...
I have been reading the docs for the module, bu they are very complex for me at the moment. Loggers, handlers...
所以,简而言之:
如何在Python 3中登录到两个文件,即:
How to log to two files in Python 3, ie:
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')
这篇关于登录到具有不同设置的两个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!