Python 3.x 如何使用dictConfig配置将日志文件保存到子目录中?
我的Python 3.6应用程序中有以下配置:Python 3.x 如何使用dictConfig配置将日志文件保存到子目录中?,python-3.x,logging,Python 3.x,Logging,我的Python 3.6应用程序中有以下配置: config = { "version": 1, "disable_existing_loggers": False, "formatters": { "standard": { "format": ("[%(asctime)s] %(levelname)s - %(threadName)s - %(name)s - %(message)s") }, },
config = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"standard": {
"format": ("[%(asctime)s] %(levelname)s - %(threadName)s - %(name)s - %(message)s")
},
},
"handlers": {
"default": {
"class": "logging.StreamHandler",
"formatter": "standard",
"level": DEFAULT_LOG_LEVEL,
},
"fh": {
"class": "logging.handlers.RotatingFileHandler",
"formatter": "standard",
"level": FILE_LOG_LEVEL,
"filename": "myfile.log",
"maxBytes": 1024*1000, # 1 MB
"backupCount": 20
}
},
"loggers": {
'': {
"handlers": ["default", "fh"],
'level': DEFAULT_LOG_LEVEL,
'propagate': True
}
}
}
这一点目前正在发挥作用;但是,它会将所有.log文件保存到当前工作目录(可执行文件位于Windows上)
我想做的是让它将其保存到“logs”目录中,该目录与可执行文件本身处于同一级别,并且已经存在
我的想法是在日志配置中修改“filename”属性,但我不确定这对使用以下内容的脚本文件有何影响:
logger = logging.getLogger(__name__)
为了让它记录到正确的位置,还需要修改它吗
所需结构:
- app.exe
- 日志
- myfile.log