python yaml(记录dictConfig)可以引用__main__以外的模块中的方法吗?

时间:2018-07-12 19:35:13

标签: python logging pyyaml

我希望能够使用环境变量指定日志输出文件的位置。我可以通过在_ _ main _ _模块中添加记录器处理程序工厂方法来完成此操作。因此,我的yaml代码段如下所示:

handlers:
  logfile_handler:
    () : __main__.logfile_maker
    level: INFO
    formatter: simple

在我的主要Python模块中,我可以定义:

def logfile_maker():
  return logging.handlers.RotatingFileHandler(os.path.join(env_value, filename))

这种方法来自这里: How to specify in YAML to always create log file in the project's folder using dictConfig?

但是我不想用日志记录功能乱扔我的主模块。我宁愿有一个单独的“ my_logging_utils.py”来包含我的大约六个日志相关功能。

我似乎无法更改yaml以引用其他模块。我想做类似的事情:

() : my_logging_utils.logfile_maker

我是Python的相对较新手(只是我的一些入门课程;还没有多少实际经验)。

0 个答案:

没有答案