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

时间:2018-12-11 13:18:50

标签: python-3.x batch-file logging

我有一个带有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,硒和请求来自动执行一些单击和在网页之间移动。
  • PyCharm内部运行(配置为向脚本传递arg_1arg_2时),一切都很好-我仅从记录器获取日志消息。
  • 运行批处理文件时-我从chromedriver或请求中获得了一堆日志消息(我认为)。

我已经尝试过:

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

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

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

1 个答案:

答案 0 :(得分:0)

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

import logging.config
logging.config.dictConfig({
    'version': 1,
    'disable_existing_loggers': True,
})