我希望能够使用环境变量指定日志输出文件的位置。我可以通过在_ _ 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的相对较新手(只是我的一些入门课程;还没有多少实际经验)。