python - 为什么我的日志消息在根日志文件中出现两次?
问题描述
我有 script.py 文件,我在其中导入 requests 模块。我注意到通过在 DEBUG 级别使用根记录器,我可以记录所有 GET 请求,这很好。
但我想要另一个日志文件来记录 INFO 级别的其他消息。所以我这样做了:
# root logger to log all GET requests
import logging
logging.basicConfig(filename= "allrequests.log", level=logging.DEBUG,
format='%(asctime)s: %(levelname)s: %(message)s')
# second logger to log only INFO
formatter = logging.Formatter('%(asctime)s: %(levelname)s: %(message)s')
handler = logging.FileHandler('onlyinfo.log')
info_logger = logging.getLogger('second_logger')
info_logger.setLevel(logging.INFO)
info_logger.addHandler(handler)
现在的问题是,每当我使用:
info_logger.info('my message')
它将在第一个日志文件中记录两次,在第二个文件中记录一次。
如果它只在每个文件中记录一次信息消息,那就没问题了。
换句话说,我想将所有消息(DEBUG 和 INFO 级别的消息)记录在一个日志文件中,而仅将 INFO 消息记录在另一个日志文件中。我怎样才能做到这一点?
解决方案
推荐阅读
- android-studio - Flutter 中的 Getter/Setter 使用 Android Studio
- c# - Automapper 禁用 IgnoreMap 属性一次
- javascript - 使用不同的 API 在 (amazon) lex bot (nodejs) 上记录
- python - 通过滚动在树视图中搜索
- javascript - 旋转图表“饼图”以需要值或角度
- java - 覆盖equals方法不能在hashmap中使用对象作为键?
- mysql - mysql,选择min表达式的源值而不是最小值
- javascript - linear-gradient() 值作为 js 变量
- java - 在java中,我如何打印以下模式
- java - 微调器选择的值未分配全局变量