4

我对python有平均经验,顺便说一句,我刚刚在它上面安装了eclipse和pydev。奇怪的是,日志模块的行为看起来很奇怪。

import datetime
import logging

print datetime.date.today()
print logging
logging.info("test")
print logging.info("test2")

--------
OUTPUT::
--------
2012-10-25
<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>
None

任何线索为什么 logging.info 不起作用?

顺便说一句,不确定这是否相关,但在 pydev 安装后导入日志本身不起作用。然后我检查了python解释器设置和日志模块在强制内置列表中没有(Windows->preference->Pydev->Interpreter(python)->Forced Builtins)。所以我手动添加了它以使导入日志记录工作。在此先感谢您的任何指点。

4

3 回答 3

3

Because the default loglevel is WARNING and logging.info() logs at level lower than that. See the explanation here and the docs.

To do what you want you could try this:

logger = logging.getLogger('name_of_your_logger')
logger.setLevel(logging.INFO)
logger.info("Should get logged")
于 2012-10-24T21:07:03.010 回答
0

如果想写入标准输出,试试这个:

import sys
import logging

logger = logging.getLogger()
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.info('teste')

输出:

睾丸

于 2012-10-24T21:27:24.107 回答
0

setLevel您可以在第一个日志记录语句之前更改默认级别。

logging.getLogger().setLevel(logging.DEBUG)
于 2012-10-24T21:11:11.097 回答