我尝试从精心设计的if(debug):
标记的打印语句进行调试,以便使用内置logging
module。我真的很喜欢我可以将输出记录到日志文件和stdout
(例如,see this question)。我对反向感兴趣; 我可以将stdout信息包含在记录器中吗?
编辑:我不想要" 重定向" stdout到日志,我想包含它在日志中......在添加中去stdout。
例如,
print "Loading data"
sources = getSources(params)
logging.debug("> From %d sources" % (len(sources)))
data = loadData(sources)
def getSources(params):
logging.info(">> Using parameters : %s" % (params))
...
return sources
让我们说logging
正在发送stdout
和日志文件。加入数据"加载数据"总是打印出来,我可以选择接下来两个陈述中的多少:
Loading Data
> From ___ sources
>> Using parameters : ___
但我怎么能得到"加载数据"记录到日志文件?
我考虑过的两个选项是:
1)写两个令人烦恼和笨拙的陈述:
print "Loading Data"
logging.info("Loading Data")
或者,2)使用critical
来记录所有级别,但这似乎是滥用......
logging.critical("Loading Data")