Я работаю над приложением Pylons, которое работает поверх Apache с mod_wsgi. Я хотел бы отправить протоколирующие сообщения, которые мое приложение генерирует в файлы в каталоге моего приложения, а не в журналы Apache. Кроме того, я хотел бы указать расположение лог-файлов через относительный путь, чтобы было легче развернуть мое приложение на других серверах. Прямо сейчас я могу регистрироваться в файлах, но только через хрупкий абсолютный путь.Использование относительных путей для регистрации файлов в Pylons's development.ini
Вот соответствующая часть моего development.ini файла:
# Logging configuration
[loggers]
keys = root, routes, myapp, sqlalchemy, debugging-logger
[handlers]
keys = console, debugging-logger-file
[formatters]
keys = generic
[logger_debugging-logger]
level = DEBUG
handlers = debugging-logger-file
qualname = myapp.controllers.logging-test-controller.debugging-logger
[handler_debugging-logger-file]
class = FileHandler
args = ('/var/pylons/myapp/logs/myapp-debugging-errors.log', 'a')
level = DEBUG
formatter = generic
Хотя .ini услужливо советует использовать% (здесь) S для обозначения текущего пути, с помощью% (здесь) s в "args = ('foo')" строка обработчика ошибок не ведет себя так, как я ожидаю. Синтаксис этого ini-файла - documented on the Paste Deploy site, но не указывает, как использовать% (здесь) s по отношению к цитируемым строкам.
Какой синтаксис следует использовать в строке "args = ('foo')", чтобы указать текущий путь?
А, это привело меня к горлу мозга. Спасибо. Я использую первый вариант на данный момент - он по крайней мере мешает мне быть вопиющим, не сухим, потому что я разделяю сообщения на несколько разных файлов журналов. –