Как указать в YAML, чтобы всегда создавать файл журнала в папке проекта с помощью dictConfig?

В моей программе Python у меня есть следующий код:

def main():
    # The file's path
    path = os.path.dirname(os.path.realpath(__file__))
    ...
    # Config file relative to this file
    loggingConf = open('{0}/configs/logging.yml'.format(path), 'r')
    logging.config.dictConfig(yaml.load(loggingConf))
    loggingConf.close()
    logger = logging.getLogger(LOGGER)
    ...

и это мой файл конфигурации logging.yml:

version: 1
formatters:
  default:
    format: '%(asctime)s %(levelname)s %(name)s %(message)s'
handlers:
  console:
    class: logging.StreamHandler
    level: DEBUG
    formatter: default
    stream: ext://sys.stdout
  file:
    class : logging.FileHandler
    formatter: default
    filename: bot.log
loggers:
  cloaked_chatter:
    level: DEBUG
    handlers: [console, file]
    propagate: no

Проблема в том, что файл bot.log создается там, где запускается программа. Я хочу, чтобы это всегда создавалось в проекте »папка s, т.е. в той же папке, что и моя программа Python.

Например, запуск программы с./bot.py создаст файл журнала в той же папке. Но запустить его сpython3 path/bot.py создаст файл журнала на уровень выше программы Python в иерархии файлов.

Как я должен написать имя файла в файле конфигурации, чтобы решить эту проблему? Или мне нужно написать собственный обработчик? Если так, то как? Или это невозможно решить с помощью dictConfig?

Ответы на вопрос(1)

Ваш ответ на вопрос