Python:清除日志文件

Gui*_*ume 15 python logging clear

我开发了一个客户端 - 服务器应用程序,我已登录服务器,因此我使用了日志记录模块.我想在服务器中创建一个命令来清除文件.

我用os.remove()测试但是之后,日志不起作用.

你有好主意吗?

谢谢.

new*_*ver 42

截断文件而不是删除它可能更好.最简单的解决方案是从清除功能重新打开文件进行写入并关闭它:

with open('yourlog.log', 'w'):
    pass
Run Code Online (Sandbox Code Playgroud)


小智 15

只需尝试添加一个'w'作为参数:

fh = logging.FileHandler('debug.log', mode='w')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
Run Code Online (Sandbox Code Playgroud)

这对我有用。


小智 8

以 Steffen B 的答案为基础:使用该logging.basicConfig函数时,还可以使用它来重写文件而不是附加到文件中:

logging.basicConfig(
        # specify the filename
        filename=<PATH TO THE FILE>,
        # If filename is specified, open the file in this mode. Defaults to 'a'.
        filemode="w",
    )
Run Code Online (Sandbox Code Playgroud)

更多信息可以在“logging”模块文档的专门部分中找到。