gpt4 book ai didi

python - 保存日志记录 DEBUG 并仅显示日志记录 INFO Python

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

我想将所有日志行保存在 superwrapper.log 中,但仅在控制台中显示信息。如果我删除文件名行的 # ,文件没问题,但我在控制台中看不到任何内容。

if __name__ == '__main__':

logging.basicConfig(
#filename='superwrapper.log',
level=logging.DEBUG,
format='%(asctime)s.%(msecs)03d %(levelname)s %(module)s - %(funcName)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)

2020-04-28 11:41:09.698 INFO common - handle_elasticsearch: Elastic connection detected
2020-04-28 11:41:09.699 INFO superwrapper - <module>: Cookies Loaded: |TRUE|
2020-04-28 11:41:09.715 DEBUG connectionpool - _new_conn: Starting new HTTPS connection (1): m.facebook.com:443

最佳答案

您可以使用多个处理程序。 logging.basicConfig可以接受handlers从 Python 3.3 开始作为参数。需要一个用于记录到日志文件,另一个用于记录到控制台。您还可以将处理程序设置为具有不同的日志记录级别。我能想到的最简单的方法是这样做:

import logging
import sys

file_handler = logging.FileHandler('superwrapper.log')
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.INFO)

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s.%(msecs)03d %(levelname)s %(module)s - %(funcName)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
handlers=[
file_handler,
console_handler
]
)

需要注意的一件事是 StreamHandler写入 strerr。通常你会想用 sys.stdout 覆盖它

关于python - 保存日志记录 DEBUG 并仅显示日志记录 INFO Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61483056/

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