gpt4 book ai didi

Python 仅记录到控制台而不记录到文件

转载 作者:行者123 更新时间:2023-12-03 08:53:11 25 4
gpt4 key购买 nike

我在无限循环中运行我的 python 3.7 程序,当日志文件变得非常大时,日志记录会消耗大量的 cpu 功率。因此,我希望我的日志只是打印到控制台而不是写入文件。我知道我可以使用打印来实现这一点,但我更喜欢日志记录。

这是我目前使用的:

logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %
(message)s',
datefmt='%m-%d %H:%M%S',
filename='mylogfile.log',
filemode='w')

console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %
(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
logger = logging.getLogger('')

然后我像这样使用模块:

logger.error('error in X')  

有什么可以用来阻止日志记录模块写入文件吗?

最佳答案

我不是专家,但我的解决方案适合我(仅写入控制台):

logger = logging.getLogger("MyApp")
logger.setLevel(logging.DEBUG)

# remove all default handlers
for handler in logger.handlers:
logger.removeHandler(handler)

# create console handler and set level to debug
console_handle = logging.StreamHandler()
console_handle.setLevel(logging.DEBUG)

# create formatter
formatter = logging.Formatter("%(name)-20s - %(levelname)-8s - %(message)s")
console_handle.setFormatter(formatter)

# now add new handler to logger
logger.addHandler(console_handle)

关于Python 仅记录到控制台而不记录到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57622296/

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