Python /如何使用绝对路径获取记录器?

时间:2014-10-28 15:20:56

标签: python logging

我尝试使用python的日志记录:

import logging

log = logging.getLogger(__name__)
logInstall = logging.getLogger('/var/log/install.log')

log.info("Everything works great")
logInstall.info("Why is not printed to the log file?")

在日志的日志文件中,每件事都有效并打印出来:“一切都很好”

但在/var/log/install.log中,我什么都没看到。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你在哪里看到logging.getLogger()的参数是文件路径???它只是您的记录器对象的名称:

  

logging.getLogger([名称])

     

返回具有指定名称的记录器,如果未指定名称,则返回    返回一个记录器,它是层次结构的根记录器。    如果指定,则名称通常是以点分隔的分层名称    比如“a”,“a.b”或“a.b.c.d”。选择这些名称完全取决于    正在使用日志记录的开发人员。

https://docs.python.org/2/library/logging.html#logging.getLogger

此记录器记录到的位置/方式(文件,stderr,syslog,邮件,网络呼叫等)取决于您为自己的应用程序配置日志记录的方式 - 这里的一点是您将记录器的使用分离(在libs中)来自logger配置(在应用程序中)。

请注意,通常的做法是使用__name__,以便获得模仿包/模块层次结构的记录器层次结构。