2014-10-28 29 views
0

我试着使用Python的日志记录: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

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

logging.getLogger([名])

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

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

在哪里/如何记录日志(文件,标准错误,系统日志,邮件,网络电话,无论)取决于你如何配置日志记录自己的应用程序 - 这里的关键是,你将记录器的使用(在库中)与记录器配置(在应用程序中)解耦。

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

相关问题