Встроенный Tomcat с использованием log4j для ведения журнала.JAVA

Программисты JAVA общаются здесь
Anonymous
Встроенный Tomcat с использованием log4j для ведения журнала.

Сообщение Anonymous »

Я использую встроенный Tomcat 8.5.4, т. е.

Код: Выделить всё

org.apache.tomcat.embed
tomcat-embed-core
8.5.4

Реализация работает отлично (Tomcat работает как шарм), единственное, что меня беспокоит, это то, что встроенный Tomcat регистрируется на System.out. Внутри моего приложения я использую log4j для регистрации, поэтому это приводит к следующей смеси журналов (без регистрации Tomcat в каком-либо файле):

Код: Выделить всё

...
2017-07-30 17:57:54 DEBUG EmbeddedTomcat:136 - Binding servlet 'sample' to path '/sample/*'.
Jul 30, 2017 5:57:54 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-15000"]
Jul 30, 2017 5:57:54 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Jul 30, 2017 5:57:54 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Jul 30, 2017 5:57:54 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.4
Jul 30, 2017 5:57:54 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [http-nio-15000]
2017-07-30 17:57:54 INFO  EmbeddedTomcat:80 - Successfully started Tomcat on port 15000 (base: null, url: http://localhost:15000).
...
В этом фрагменте первая и последняя строка (после и до ...) регистрируются моим приложением с использованием log4j и конфигурации log4j ( который записывает в файл и System.out). Тем не менее, средняя часть (регистрация Tomcat) обрабатывается встроенным Tomcat, и я понятия не имею, как заставить Tomcat использовать доступный log4j (и его конфигурацию).

Я пытался добавить следующую зависимость (версия 8.5.4 недоступна в репозитории Maven или Maven Central), но безуспешно.

Я пытался добавить следующую зависимость (версия 8.5.4 недоступна в репозитории Maven или Maven Central), но безуспешно.

Я пытался добавить следующую зависимость (версия 8.5.4 недоступна в репозитории Maven или Maven Central), но безуспешно.

р>

Код: Выделить всё

org.apache.tomcat.embed
tomcat-embed-logging-log4j
8.5.2

Кто-нибудь знает, как заставить встроенный Tomcat регистрироваться с помощью log4j (версия 1, я не использую log4j2)?

Я просмотрел/попробовал следующие ответы StackOverflow:
  • https://tomcat.apache.org/ tomcat-8.0-doc/logging.html
    Итак, я просмотрел документацию, в которой log4j упоминается как платформа ведения журналов. Там упоминается tomcat-juli-adapters.jar, который я не смог найти для встроенной версии (это то же самое, что и «обычный» Tomcat?). Как мне сделать это программно, то есть в рамках моей реализации Embedded Tomcat.
  • Ведение журнала Tomcat с использованием log4j?
    На самом деле это не проблема, с которой я сталкиваюсь. поскольку он не основан на Embedded Tomcat, версия довольно старая, и на самом деле я использую log4j, а не System.out.
  • Встроенная регистрация Tomcat через logback / sl4j
    Этот вопрос на самом деле касается возврата в систему, и автор упоминает, что я нашел некоторую информацию об использовании автономного tomcat с log4j, но автономный вариант отличается, я вижу автор использует аналогичные зависимости, но не уверен, было ли когда-либо решение.
  • Как включить встроенное ведение журнала tomcat
    Сначала я подумал, что это может быть быть решением, но все это касается только дополнительного ведения журнала для встроенного Tomcat. Я хочу, чтобы встроенный Tomcat использовал приложения log4j, поэтому один файл log4j.properties, который определяет, как все регистрируется.
  • Вход в систему Embedded Tomcat
    Я не уверен, почему этот ответ вообще помечен как правильный, но это всего лишь объяснение того, как Tomcat записывает файл catalina.out, а не как регистрация встроенного Tomcat работает.


Подробнее здесь: https://stackoverflow.com/questions/454 ... or-logging

Вернуться в «JAVA»