I'm using Python logging and loading it with logging.config.fileConfig(config_file), from e.g. logging.cfg. It contains a TimedRotatingFileHandler. It works great. For a long time it has been using (simplied):
[handler_file]
class=handlers.TimedRotatingFileHandler
formatter=complex
level=DEBUG
args=('logs/logging.log', 'midnight')
Now I want to make the logging directory (logs above) configurable, but still use the configuration file, e.g. logging.cfg.
I was hoping to somehow inject/string interpolate in a variable e.g. log_directory to just do:
args=('%(log_directory)s/logging.log', 'midnight')
Or since logging does an eval maybe something like:
args=(f'{log_directory}/logging.log', 'midnight')
I have a feeling I'm missing something simple. How can I best do this, while still using a configuration file?