2010-10-28 36 views
14

我正在使用Freebase Python库。它在执行前创建一个日志:Python根记录器在哪里存储日志?

self.log = logging.getLogger("freebase") 

这哪里是日志文件系统?它不在执行目录或tmp中。

+0

我注意到这个问题没有任何解释downvote。如果这个人低调的话会让我知道为什么我会确信在将来会更加清楚,我将不胜感激。 – 2014-04-20 19:46:51

回答

14

该调用不存储任何内容。它只是创建一个记录器对象,可以根据需要进行绑定和配置。

因此,如果你的Python代码,您要添加

logging.basicConfig(level=logging.WARNING) 

所有警告和错误都会被记录到标准输出(这是basicConfig做什么),包括游离碱进行调用。如果您想登录到文件系统或其他目标,则需要参考logging module documentation以获取更多信息。您也可以参考Logging HOWTO

+6

+1 Jason的话。你也可以做例如'logging.basicConfig(filename ='/ path/to/file.log',filemode ='w',level = logging.DEBUG)'对文件进行简单的日志记录。 – 2010-10-28 12:29:51

+0

因此,在@Matt Norris的问题中'self.log'被定义后,对'self.logger.debug'的后续调用将不会被保存到磁盘(假设没有中间调用)? – dbliss 2015-02-27 23:49:57

+0

@dbliss如果您按照Vinay的建议配置了日志记录,则后续对'self.log.debug'的调用将写入该文件。如果您根据自己的回答配置日志记录,则对'self.log.debug'的调用将被忽略,因为它们低于指定的“logging.WARNING”级别。 – 2015-03-02 16:31:34