微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python,记录器,文件结构,全局配置

如何解决python,记录器,文件结构,全局配置

为您的项目构建记录器文件的正确方法是什么,以及拥有不同配置的正确方法是什么?

所以现在我的文件结构是这样的

project_name
    folder_with_module_1
          module_1a.py
          module_1b.py
    folder_with_module_2
          module_2.py
    logger_config.ini
tests
.gitignore
readme
etc.

然后在代码中我以这种方式使用它:

logging.config.fileConfig('../logger_config.ini')
logger = logging.getLogger(__name__)

在我的 logger_config.ini 中,它看起来像这样:

[loggers]
keys=root,DEFAULT

[handlers]
keys=consoleHandler

[formatters]
keys=defaultFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_DEFAULT]
level=DEBUG
handlers=consoleHandler
qualname=DEFAULT
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=defaultFormatter
args=(sys.stdout,)

[formatter_defaultFormatter]
format= %(asctime)-15s %(threadName)-15s %(levelname)-8s %(module)-15s:%(lineno)-8s %(message)s
datefmt=

但我希望它不那么具体,所以我不必为每个文件提供不同的路径:所以它会更像它:

logging.config.fileConfig('logger_config.ini') < one path for every file
logger = logging.getLogger(__name__)

另外,我如何为某些文件使用不同的记录器配置? 例如,在我的 logger_config.ini 中,我为文件 module_1b.py 设置了一个与 formatter_defaultFormatter 格式不同的文件?但同时在代码中我仍然可以拥有:

logger = logging.getLogger(__name__)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。