gpt4 book ai didi

python - 如何让streamHandler每次都覆盖

转载 作者:行者123 更新时间:2023-12-01 08:29:06 25 4
gpt4 key购买 nike

我希望每次运行应用程序时都覆盖以前的日志记录。我通过将文件模式指定为“w”来找出 FileHandler。在哪里可以为 StreamHandler 指定类似的行为?考虑下面的代码,如果运行多次,“test.log”将始终显示单行“test”,而控制台将显示多行“test”。

我尝试了flush方法,但不起作用。

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

file_handler = logging.FileHandler('test.log', mode = 'w')
logger.addHandler(file_handler)

streamHandler = logging.StreamHandler()
logger.addHandler(streamHandler)

logger.info('test')

我希望即使运行多次,控制台也能显示一行“test”。

最佳答案

我相信您能做的最好的事情就是在每次执行时清除控制台窗口。您可以使用这个有用的函数(found here)来做到这一点:

import os

def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')

def clear_ipython():
os.system('!cls' if os.name == 'nt' else '!clear')

只需在脚本开头调用 clear_screen() 例程即可。

关于python - 如何让streamHandler每次都覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54013925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com