我正在开发一个客户端-服务器应用程序,需要在服务器上记录日志,因此我使用了 logging
模块。我希望在服务器上创建一个命令来清空文件。
我已经尝试使用 os.remove()
函数进行测试,但是在这之后,日志功能失效了。
您有什么想法吗?
谢谢。
在清除文件时,截断文件可能比删除文件更好。最简单的解决方案是在清除函数中重新打开文件进行写操作并关闭它:
可能比较好的做法是截断文件而不是删除它。最简单的解决方案是在清除函数中重新打开文件进行写入,并关闭文件:
with open('yourlog.log', 'w'):
pass
试着加一个'w'
作为参数:
fh = logging.FileHandler('debug.log', mode='w')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
这对我起作用了。
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",
)
可以在“logging”模块的文档的专门部分中查找更多信息。
logging.FileHandler
传递mode="w"
参数。 - 0 _