2015-06-10 3 views
1

У меня есть сервер смерч, который автоматически выводит журналы всякий раз, когда URL достигается, например:Можете ли вы изменить формат вывода журнала для приложения торнадо?

Jun 10 18:33:49 localhost server: INFO 200 GET /api/v1/profile (108.162.245.195) 0.69ms 

Я хотел бы изменить формат этих сообщений, чтобы включить более подробную информацию, как имя пользователя, например:

Jun 10 18:33:49 localhost server: INFO 200 GET /api/v1/profile (108.162.245.195) 0.69ms ([email protected]) 

Как добавить эту функциональность?

ответ

1

Это сообщение взято из Application.log_request, поэтому для его изменения вы можете подклассировать Application и задать свой собственный метод log_request. (также можно передать log_function в качестве аргумента ключевого слова конструктору приложения, если вы предпочитаете не подкласс).

RequestHandler передается log_request, поэтому вы можете получить доступ к handler.current_user или другим методам сбора дополнительной информации для регистрации.

+0

Отлично, это нормально работает. Единственное, с чем мне сейчас трудно получить доступ, если время ответа, которое является частью вывода журнала по умолчанию, вы знаете, если это доступно? – nickponline

+0

Обнаружено, что 'handler.request.request_time()' – nickponline

Смежные вопросы