【问题标题】:PyDev Console not printing logging for all levelsPyDev 控制台未打印所有级别的日志记录
【发布时间】:2012-10-25 05:30:02
【问题描述】:

我对 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)。所以我手动添加了它以使导入日志记录工作。提前感谢您的任何指点。

【问题讨论】:

    标签: python eclipse logging pydev


    【解决方案1】:

    因为默认的日志级别是WARNING,而logging.info()的日志级别低于该级别。参见heredocs的解释。

    要做你想做的事,你可以试试这个:

    logger = logging.getLogger('name_of_your_logger')
    logger.setLevel(logging.INFO)
    logger.info("Should get logged")
    

    【讨论】:

      【解决方案2】:

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

      logging.getLogger().setLevel(logging.DEBUG)
      

      【讨论】:

        【解决方案3】:

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

        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')
        

        输出:

        测试

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-10
          • 2014-11-24
          • 1970-01-01
          • 1970-01-01
          • 2021-10-07
          • 1970-01-01
          • 1970-01-01
          • 2017-08-01
          相关资源
          最近更新 更多