神秘的logging.basicConfig问题(Python)

3 投票
1 回答
2239 浏览
提问于 2025-04-15 22:42

我正在写一个Python脚本,用来从Flickr获取数据。为了记录日志,我有一个设置函数:

def init_log(logfile):
    format = '%(asctime)s - %(levelname)s - %(message)s'
    logging.basicConfig(filename=logfile,level=logging.DEBUG,format=format)

我在Python的命令行中测试过这个函数,效果很好,如果文件不存在就会创建一个。但是当我在我的程序中调用这个函数时,它就不工作了。这个函数确实被调用了,logfile参数也正常运作——就是logging.basicConfig没有创建任何文件。我甚至没有收到任何错误或警告。

我使用的Python Flickr API可能是问题所在,但我不太相信。有什么想法吗?

1 个回答

6

logging.basicConfig这个函数只有在根日志记录器没有配置任何处理器时才会起作用。如果在根日志记录器已经有一些处理器的情况下调用它,那基本上就是没什么用(这个在文档里有说明)。

可能Python的Flickr API会进行一些日志记录,这样的话你可能需要在代码的前面就调用basicConfig。

撰写回答