Мне нужно было сделать что-то похожее в очень простой среде журналирования, следующая процедура сделала свое дело
def _find_logger_basefilename(self, logger):
"""Finds the logger base filename(s) currently there is only one
"""
log_file = None
parent = logger.__dict__['parent']
if parent.__class__.__name__ == 'RootLogger':
# this is where the file name lives
for h in logger.__dict__['handlers']:
if h.__class__.__name__ == 'TimedRotatingFileHandler':
log_file = h.baseFilename
else:
log_file = self._find_logger_basefilename(parent)
return log_file
Я искал файл, используемый TimedRotatingFileHandler, вам может потребоваться изменить тип обработчика, который вы ищете, возможно FileHandler.
Не уверен, как это будет происходить в любой сложной среде ведения журналов.