Python 使用FileHandler&;dictConfig-在“中使用环境变量”;文件名;?
我正在使用Python 使用FileHandler&;dictConfig-在“中使用环境变量”;文件名;?,python,json,logging,Python,Json,Logging,我正在使用dictConfig设置日志记录。我将配置存储在一个json文件中 { "version": 1, "disable_existing_loggers": "True", "formatters":{ "default":{ "format": "%(levelname)s : %(asctime)s : %(name)s - Bum holes %(message)s",
dictConfig
设置日志记录。我将配置存储在一个json文件中
{
"version": 1,
"disable_existing_loggers": "True",
"formatters":{
"default":{
"format": "%(levelname)s : %(asctime)s : %(name)s - Bum holes %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers":{
"file":{
"class": "logging.handlers.TimedRotatingFileHandler",
"when": "midnight",
"interval": 1,
"formatter": "default",
"filename": "Nymus\\Logs\\Logs.log"
}
},
"root":{
"handlers": ["file"]
}
}
然后将其传递给要初始化的logging.config.dictConfig
。我这样做的原因是将记录器配置保存在一个文件中,而不是分散。然而,当涉及到json文件中的“filename”参数时,我遇到了一个问题。我想做的是能够编写类似于“filename”:“%APPDATA%\\Nymus\\Logs\\Logs/log
这可能吗?我研究过使用
args
参数将参数传递给“class”中列出的任何对象,但我根本无法让它工作。get env value和json.load()之后和logging.config.dictConfig()之前
在jsonI中覆盖您的文件名参数作为一种解决方法,但我希望将其用作一个自包含的配置文件。我仍然好奇这是否可能。