#!/usr/bin/python
import os
import logging
import pickle
def _config_logger(test_name):
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logging.basicConfig(format='%(message)s',filename="./%s.txt" %(test_name))
stderrLogger=logging.StreamHandler()
stderrLogger.setFormatter(logging.Formatter('%(message)s'))
logging.getLogger("").addHandler(stderrLogger)
return logger
for i in ['x','y','z']:
logger=_config_logger(i)
logger.debug(i)
不需要输出,y打印两次,z打印3次。你知道吗
$Python测试.py
x
是
是
z
z
z轴
但是我只有一个文件x.txt,我希望是y.txt。z、 那是什么
$升 测试.pyx、 文本
我该怎么办?你知道吗
检查文档中的logging.basicConfig:
在为
x.txt
调用它一次以登录到之后,后续调用将不起作用。你知道吗不要调用
logging.basicConfig
,而是添加一个与添加流处理程序类似的文件处理程序:此处:
您不会将
test_name
传递给geLogger()
,因此您总是得到根记录器。几句话之后:您不断向根记录器添加处理程序,因此出现了“y打印两次,z打印三次”症状。你知道吗
而且,多次调用
.basicConfig()
是没有用的,只有第一个调用是相关的,cfthe fine manual:相关问题 更多 >
编程相关推荐