2017-01-11 4 views
1

Я работаю над java-сервисами, которые обрабатывают несколько запросов одновременно. Я использую log4j без дополнительной настройки. Таким образом, в основном все журналы идут в один и тот же файл, поэтому очень сложно отладить любую проблему, связанную с конкретным запросом.
Log4j присоединяется к файлу журнала при выполнении потока

Я все еще хочу, чтобы все журналы в одном файле (я буду использовать DailyRollingFileAppender, чтобы сделать свою жизнь проще), но я хочу журналы таким образом, что все журналы из нити должны быть добавлены сразу. С помощью этой схемы я могу найти журналы для запроса в одном месте.

Итак, что нужно сделать для этого.

Благодаря

ответ

1

Log4J позволяет сообщение, которое получит выход в лог-файл, чтобы иметь определенную модель и, как правило, предоставляется в рамках log4j.xml (или .properties).

Используя шаблон сообщения, мы можем указать имя потока, которое будет выводиться в файл журнала. Это делается путем добавления в шаблон сообщения % t.

Но я не уверен, что Log4J будет предназначен для сброса всех журналов для потока в одном месте. Это связано с тем, что в веб-приложениях потоки, выполняемые сервером, сохраняются в течение длительного времени. Таким образом, тот же поток сервера, который обрабатывал запрос User-1, мог обслуживать запрос User-2. Итак, если вы предположили, что поток будет создан для каждого запроса, я боюсь, что это не так.

Но вы можете иметь разные приложения и регистраторы в log4j.xml для разных модулей приложения, чтобы вы могли находить журналы для определенных важных модулей в одном месте.