栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python logging包分别往文件和命令行输出日志的写法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python logging包分别往文件和命令行输出日志的写法

第一种:

import logging
logger = logging.getLogger(__name__)
logger.setLevel(level = logging.DEBUG)
fh = logging.FileHandler(log_file)
fh.setLevel(logging.DEBUG)
file_formatter = logging.Formatter('%(asctime)st%(levelname)st%(name)st%(message)s')
fh.setFormatter(file_formatter)
logger.addHandler(fh)
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)
stream_formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(message)s')
sh.setFormatter(stream_formatter)
logger.addHandler(sh)

第二种,这种写法好像会导致后续handler的日志会先被根过滤器的level设置过滤掉:

import logging
# 输出日志到文件,filename有参数时,日志不再输出屏幕,需要另建StreamHandler对象,输出屏幕
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO,filename=log_file)
logger = logging.getLogger() #root logger
formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(message)s')
StreamHandler = logging.StreamHandler()
StreamHandler.setLevel(logging.WARNING)
StreamHandler.setFormatter(formatter)
logger.addHandler(StreamHandler)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849668.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号