CherryPy: протоколировать доступ и события ошибок в системный журнал - PullRequest
1 голос
/ 23 июня 2011

Я создал REST-интерфейс, используя CherryPy. Я предпочитаю использовать системный журнал, а не отдельные файлы для регистрации сообщений для каждого из моих приложений. Итак, в настоящее время приложение использует средство ведения журналов Python, регистрирующееся в syslog через обработчик / dev / log.

Я хотел бы иметь возможность регистрировать все попытки доступа на уровне отладки и все ошибки на уровне ошибок, что можно сделать, указав файл cherrypy.log.access_file и cherrypy.log.error_file -paths.

Есть ли способ направить cherrypy.log.error_file в системный журнал? Я хотел бы избежать прямой регистрации в / var / log / syslog и изменения разрешений для этого файла, если это возможно.

Спасибо

Zach

1 Ответ

2 голосов
/ 24 июня 2011

Я вижу, как это сделать:

У меня определено ведение журнала в моем файле конфигурации с использованием средства ведения журнала Python.Исходя из этого, я инициализировал регистратор общего назначения.

Используя документацию здесь: http://docs.cherrypy.org/stable/refman/_cplogging.html, Я добавил свой обработчик системного журнала в обработчики cherrypy.log.

Вот мойкод:

from cherrypy import log

h = logger.handlers[0]
h.setLevel(logging.DEBUG)
log.access_log.addHandler(h)
log.error_log.addHandler(h)

Это супер просто.

...