我正在尝试使用Python在文本配置文件中配置记录器。以下是部分内容:
[logger_root]
handlers=result
level=NOTSET
[handler_result]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=5
formatter=simple
level=DEBUG
args=('result_log.txt')
我想每次运行系统时都重写日志文件。但不知道如何在文件中设置它。我试过但却失败了:
args=('result_log.txt',filemode='w')
很多文章都讨论了如何从Python代码中设置它。但是我想在文件中设置它。怎么做?感谢。
=======================================
编辑:我可以通过以下方式将一些信息写入日志文件'result_log.txt':
result_logger = logging.getLogger('result')
result_logger.debug("info to write")
但我只能“追加”到该文件。我想每次运行时都重写文件。
答案 0 :(得分:2)
您可以使用以下两种方法之一: -
备份旧日志文件并使用RotatingFileHandler
替换文件本身(如果您不再需要旧日志)。您可以查看this了解步骤
希望这有帮助。
答案 1 :(得分:0)
您可以使用以下代替吗?
而不是使用记录器模块open("result_log.txt", "w").write("result")
我知道现在这将是一种解决方法,直到有人能够更好地回答这个问题。
希望这会有所帮助:)
答案 2 :(得分:0)
实际上,您可以 从配置文件中将filemode
设置为w
。您只需要删除显式参数命名,就像这样:
args=('result_log.txt','w')