我找到了一些类似的示例,可以将日志消息记录到多个文件中。但并没有完全符合我的要求。我正在使用日志模块,并将所有信息消息记录到控制台和文件中(稍后会关闭控制台日志记录)。但是,我希望将所有信息消息记录到file.log中,将所有错误消息记录到file.err中。如果可能的话,最好将所有消息记录到file.log(错误和信息),然后将所有错误消息记录到单独的文件中。这种情况是否可行?
---------
显然我不能在7小时内回答自己的问题,因此我将更新原始问题。
---------
我现在感觉很愚蠢。在发布之前,我尝试了几个小时的示例,然后又发现了这个“问题”。 就好像打出我想做的事情的任务,在阅读示例时触发了某些东西。http://docs.python.org/2/howto/logging-cookbook.html
这将把所有INFO级别及以上的内容输出到一个日志文件(log_file),并将logging.error和logging.warning消息打印到另一个文件(err_file)中。# set up logging to file - see previous section for more details
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
filemode='w')
log_error = logging.FileHandler(err_file)
log_error.setLevel(logging.WARNING)
log_info = logging.FileHandler(log_file)
log_info.setLevel(logging.INFO)
# set a format which is simpler for console use
formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s')
# tell the handler to use this format
log_error.setFormatter(formatter)
log_info.setFormatter(formatter)
# add the handler to the root logger
logging.getLogger('').addHandler(log_info)
logging.getLogger('').addHandler(log_error)