Python在日志配置文件中设置filemode

时间:2012-07-16 07:51:22

标签: 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')

我想每次运行系统时都重写日志文件。但不知道如何在文件中设置它。我试过但却失败了:

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

很多文章都讨论了如何从Python代码中设置它。但是我想在文件中设置它。怎么做?感谢。

=======================================

编辑:我可以通过以下方式将一些信息写入日志文件'result_log.txt':

result_logger = logging.getLogger('result')
result_logger.debug("info to write")

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

3 个答案:

答案 0 :(得分:2)

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

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

  2. 创建新文件
  3. 替换文件本身(如果您不再需要旧日志)。您可以查看this了解步骤

  4. 希望这有帮助。

答案 1 :(得分:0)

您可以使用以下代替吗?

而不是使用记录器模块
open("result_log.txt", "w").write("result")

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

希望这会有所帮助:)

答案 2 :(得分:0)

实际上,您可以 从配置文件中将filemode设置为w。您只需要删除显式参数命名,就像这样:

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