在日志文件中包含print语句

时间:2015-07-25 17:46:17

标签: python debugging logging diagnostics

我尝试从精心设计的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")

0 个答案:

没有答案