这是我的模块:
# module.py
import logging
logging.basicConfig(filename='app.log')
logger = logging.getLogger(__name__)
def method(x):
logger.info('x is %s', x)
return x + x
我的模块被第三方脚本使用,问题是它做了一些覆盖我的日志设置。
# main.py
import logging
from logging.config import dictConfig
from module import method
logger = logging.getLogger(__name__)
def setup_loghandlers():
dictConfig({
"version": 1,
"disable_existing_loggers": False,
"handlers": {
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler"
},
},
"root": {
"handlers": ["console"],
"level": "INFO",
}
})
setup_loghandlers()
y = method(20)
logger.info('y is %s', y)
现在如果我运行main.py
,我会在控制台中获取所有日志,而我真正需要的是 module.py 的日志转到 app.log 文件
PS:我不能修改main.py
,我只能修改我的module.py