停止子模块日志记录 - 从批处理文件运行脚本

问题描述 投票:0回答:1

我有一个带有cli参数解析器的python脚本(基于argparse)我从批处理文件中调用它:

set VAR1=arg_1
set VAR2=arg_2

python script.py --arg1 %VAR1% --arg2 %VAR2%

script.py内我称之为记录器:

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
  • 此脚本利用chromedriver,selenium和请求自动执行一些点击和在网页之间移动。
  • 当从PyCharm内部运行时(配置为使脚本有arg_1arg_2传递给它)一切都很棒 - 我只从记录器获取日志消息。
  • 当我运行批处理文件时 - 我从chromedriver或者请求(我认为)获得了一堆日志消息。

我试过了:

  • @echo off在批处理文件的开头。
  • 在根记录器上设置级别。
  • 获取日志记录器字典并将每个记录器设置为警告 - 基于this question

这些都不起作用,我不断从子模块获取日志消息 - 仅在从批处理文件运行时。

有谁知道如何解决这个问题?

python-3.x batch-file logging
1个回答
0
投票

您可以使用以下配置选项来执行此操作

import logging.config
logging.config.dictConfig({
    'version': 1,
    'disable_existing_loggers': True,
})
© www.soinside.com 2019 - 2024. All rights reserved.