2013-01-15 101 views
0

我有一个Python日志记录的问题,我不知道问题是什么,因为昨天用于工作的同一行代码很好。在Python中缺少日志输出

因此,例如下面的代码只为打印功能产生输出,但不能用于记录。

任何想法?

import logging 

if __name__ == '__main__': 
    logging.basicConfig(level = logging.DEBUG) 
    logging.info("Hello, World!") 
    print "Hello, World!" 
+1

'INFO:root:Hello,World! Hello,World!'适合我,它的蟒蛇版本 – avasal

+0

@avasal版本2.7.3,奇怪的是它昨天工作正常。 – Gabor

回答

1

你可以试试这个替代方案:

>>> import logging 
>>> logging.getLogger().setLevel(logging.INFO) 
>>> logging.info("Hello, World!") 
INFO:root:Hello, World! 

这里要设置到根记录器的信息级别。

+0

谢谢,解决了这个问题! – Gabor

+0

@Gabor:将它设置为DEBUG级别应该包含INFO级别的任何内容,所以还有一些额外的事情在这里进行。 –

+0

@LennartRegebro我认为问题是logging.basicConfig没有正确配置记录器。从日志记录文档“如果根记录器已经为它配置了处理程序,则此函数不会执行任何操作。” – jvallver

0

工作对我来说:

>>> import logging 
>>> logging.basicConfig(level = logging.DEBUG) 
>>> logging.info("Hello, World!") 
INFO:root:Hello, World! 

而且你的代码在一个文件中:

INFO:root:Hello, World! 
Hello, World! 
+0

当我在代码中逐行输入python解释器时,它起作用,但是当我尝试运行包含这些语句的文件时,它不起作用。 – Gabor

+0

@Gabor:这也适用于我。 –