Python - 如何断开与日志文件的连接

Posted

技术标签:

【中文标题】Python - 如何断开与日志文件的连接【英文标题】:Python - how to disconnect from a log file 【发布时间】:2017-11-23 22:58:19 【问题描述】:

亲爱的,

我在使用 Python 时遇到问题:我正在创建一个日志文件,但是一旦我运行我的程序,python 和我的日志文件之间仍然存在链接:这意味着我无法删除日志文件,并且将发送下一条日志消息即使我想将它们发送到其他地方,也可以发送到此日志文件。

我的解决方法是关闭内核并重新启动,但我想对其进行编程而不是手动进行。您能否提一些建议?

我的代码:

import logging

#initialize the log settings
logging.basicConfig(filename='address.log',level=logging.INFO)

【问题讨论】:

【参考方案1】:

使用后需要关闭 FileHandler。见相关文章python does not release filehandles to logfile

【讨论】:

您好,谢谢,我看到它是相关的,并且提到的问题与我的相似,但我太新手了,无法弄清楚如何将提供的解决方案适应其特定代码以适应我的...【参考方案2】:

简单使用:

logging.shutdown()

【讨论】:

【参考方案3】:

我们可以这样做:

log = logging.getLogger()
for hdle in log.handlers[:]:
    if isinstance(hdle,logging.FileHandler): 
        hdle.close()
        log.removeHandler(hdle)

我尝试使用logging.shutdown(),但这并不总是有效。 您也可以访问this thread了解更多信息。

【讨论】:

以上是关于Python - 如何断开与日志文件的连接的主要内容,如果未能解决你的问题,请参考以下文章

Adb 实用命令(网络包日志调优相关)

Adb 实用命令(网络包日志调优相关)

Adb 实用命令(网络包日志调优相关)

开启mysql日志

如何从客户端断开和重新连接 socket.io?

何时怎样开启 MySql 日志?