Python Ведение журнала с FileHandler & dictConfig - Использовать переменные среды в «имя файла»? - PullRequest
0 голосов
/ 08 января 2020

Я настраиваю запись с помощью 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 для инициализации. Причина, по которой я это делаю, заключается в том, чтобы сохранить конфигурацию моего логгера в одном файле и не разбросать по нему. Однако я столкнулся с проблемой, когда дело доходит до параметра «filename» в файле json. Я хочу написать что-то вроде "filename": "%APPDATA%\\Nymus\\Logs\\Logs/log

Возможно ли такое? Я рассмотрел использование параметра args для передачи параметров всем, что перечислено в «классе», но я не мог заставить это работать вообще.

...