Python在日志记录配置文件中设置文件模式

Python在日志记录配置文件中设置文件模式,python,Python,我正在尝试使用Python在文本配置文件中配置记录器。以下是部分内容: [logger_root] handlers=result level=NOTSET [handler_result] class=handlers.TimedRotatingFileHandler interval=midnight backupCount=5 formatter=simple level=DEBUG args=('result_log.txt') 我想在每次运行系统时重写日志文件。但不知道如何在文件中

我正在尝试使用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")

但我只能“附加”到文件中。我希望每次运行时都重写该文件。

是否可以使用下面的模块,而不是使用记录器模块

open("result_log.txt", "w").write("result")
我知道这将是一个暂时的解决办法,直到有人能够更好地回答这个问题


希望这有帮助:)

您可以使用以下两种方法之一:-

  • 备份旧日志文件,并使用
    RotatingFileHandler

  • 替换文件本身(前提是不再需要旧日志)。你可以看看这些步骤

  • 希望这有帮助。

    事实上,您可以从配置文件中将
    filemode
    设置为
    w
    。您只需要删除显式参数命名,如下所示:


    args=('result\u log.txt','w')

    你想在
    result\u log.txt
    中写些什么?@AshwiniChaudhary:请看我编辑的帖子。谢谢你的回复。但是logger有很多好处,也许你想检查一下,谢谢。但每次运行后,我都会将日志文件复制到其他地方。所以我不介意重写旧日志。我希望能够自动重写。那么在这种情况下,你应该能够通过删除处理程序并在每次运行程序时重新分配它来完成。查看我提供的链接。在您提供的链接中,我需要显式指定文件处理程序,这不是我想要的。我只想在conf文件中给出日志文件名,而不是在Python代码的任何位置。您可以使用RotatingFileHandler,这样您就不必每次执行代码时都移动它。您可以使用无限长文件的处理程序。您还可以在尝试打开文件时尝试截断该文件,以便将其重置。