Cherrypy и повторяющиеся сообщения об ошибках в журналах Apache - PullRequest
0 голосов
/ 25 марта 2011

У меня есть простое приложение CherryPy, которое динамически создает и обслуживает файлы PDF. Внутри приложения я записываю простой текст в файл журнала ошибок apache.

Регистрация ведется через стандартный интерфейс регистрации Python:

logging.debug('My log message')

Проблема в том, что я замечаю, что всегда вижу ровно 11 копий каждого оператора, напечатанного в журнале ошибок из cherrypy.

например:.

[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION
[Thu Mar 24 18:44:46 2011] [error] USER AUTHORIZED BY SESSION

Само приложение работает и возвращает правильный файл PDF, но я пытаюсь выяснить, почему кажется, что веб-приложение вызывается 11 раз для каждого веб-запроса.

У кого-нибудь есть идеи, с чего начать поиск? Я предполагаю, что это проблема конфигурации apache или cherrypy? Может ли кто-нибудь, знакомый с вишневым, помочь мне?

Любая помощь с благодарностью.

Ответы [ 2 ]

1 голос
/ 25 марта 2011

Выглядит как распространенная проблема, если вы не используете функции ведения журнала cherrypy.По сути, каждый поток добавляет свой обработчик в глобальный регистратор, что приводит к дублированию записей.

http://groups.google.com/group/cherrypy-users/browse_thread/thread/a74859627fea14e4

0 голосов
/ 25 марта 2011

11 раз звучит как один раз в основном потоке и один раз для каждого из 10 потоков HTTP-запросов. Интересно, откуда вы звоните logging.debug.

...