如何将python中的Logger对象的输出发送到文件?

时间:2014-05-08 08:29:52

标签: python file logging

我在python中使用日志记录库。我正在使用几个 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')

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

尝试添加此处的文件位置,它将解决您的问题:

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

这意味着记录器名称   跟踪包/模块层次结构,直观明显的地方   事件只记录在记录器名称中。