【问题标题】:How can I send the output of a Logger object in python to a file?如何将 python 中 Logger 对象的输出发送到文件?
【发布时间】:2014-05-08 08:29:51
【问题描述】:

我在 python 中使用 logging 库。我正在使用几个 logger 对象来输出信息。我到了输出太多的地步,我需要将它发送到日志文件而不是控制台。 我找不到配置记录器对象的输出流的函数,并且 basicConf 函数似乎无法解决问题。 这就是我所拥有的:

import logging # Debug logging framework
logging.basicConfig(filename='loggggggmeee.txt')
logger = logging.getLogger('simulation')
logger.setLevel(logging.INFO)

#--------------- etc-------------------#

logger.info('This is sent to the console')

有什么想法吗?谢谢!

【问题讨论】:

    标签: python file logging


    【解决方案1】:

    尝试添加一个像这里这样的文件位置会解决你的问题:

    import logging # Debug logging framework
    logging.basicConfig(filename='c:\\loggggggmeee.txt')
    logger = logging.getLogger('simulation')
    logger.setLevel(logging.INFO)
    
    #--------------- etc-------------------#
    
    logger.info('This is sent to the console')
    

    顺便说一下,没有特定位置的文件将在模块库中......

    我真的建议你阅读Logging HOWTO,它非常简单实用。

    Cookbook 也有很多有用的例子。

    另一个关于从文档中命名记录器的好技巧:

    命名记录器时使用的一个好的约定是使用模块级 logger,在每个使用日志的模块中,命名如下:

    logger = logging.getLogger(__name__)
    

    这意味着记录器名称 跟踪包/模块层次结构,直观地很明显 事件仅从记录器名称记录。

    【讨论】:

    • 非常感谢。我查看了 HOWTO,但找不到具体信息。我还没有发现 Cookbook,但我看到这些示例非常有用。
    猜你喜欢
    • 2021-02-12
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多