4

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

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

4

3 回答 3

2

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

  1. 备份旧的日志文件并使用RotatingFileHandler

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

希望这可以帮助。

于 2012-07-16T09:13:56.383 回答
0

除了使用 logger 模块,您还可以使用以下模块吗?

open("result_log.txt", "w").write("result")

我知道这暂时是一种解决方法,直到有人能够更好地回答这个问题。

希望这可以帮助 :)

于 2012-07-16T08:21:14.907 回答
0

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

args=('result_log.txt','w')

于 2019-01-15T19:55:47.507 回答