Кто-нибудь когда-либо получал журнал доступа Tomcat как JSON с Logstas Logback Encoder?
Хотя это должно быть возможно (согласно документам), я не могу заставить его работать, и я постоянно борюсь с Ад пути к классам Tomcat. Tomcat выбрасывает NoClassDefFoundErrors, хотя я на 100% уверен, что классы должны существовать в пути к классам. Это просто больше не имеет смысла ...
Я поместил все необходимые JAR-файлы в каталог Tomcats lib/
, добавил их в путь к классам и настроил все необходимые файлы конфигурации (следовал нескольким официальным и неофициальным руководствам).
Журнал Tomcat (catalina.out -> catalina. json) отлично работает с Logsta sh Logback Encoder, но журнал доступа Tomcat - это совершенно другая проблема ...
Нет независимо от того, что я пробовал, каждый раз это приводило к одному из следующих:
NoClassDefFoundError: javax/servlet/ServletContainerInitializer
NoClassDefFoundError: org/apache/catalina/Lifecycle
ClassNotFoundException: ch.qos.logback.access.spi.IAccessEvent
Добавление logback-access.jar (в дополнение ко всем другим logback / slf4j / logsta sh JAR) в путь к классам через bin /setenv.sh разбивает весь путь к классам (cra sh -l oop с NoClassDefFoundError: org/apache/catalina/Lifecycle
). Добавление всех остальных logback / slf4j / logsta sh JAR без logback-access.jar работает нормально (но позже приводит к ClassNotFoundException: ch.qos.logback.access.spi.IAccessEvent
, но Tomcat работает нормально без записи журналов доступа) ...
I не могу даже предоставить свое текущее состояние, потому что я не знаю, какое состояние является наиболее "правильным", которое ближе всего к решению ...
Если кто-то получил журнал доступа Tomcat как JSON, скажите мне как (даже если вы используете другой кодировщик).
Это уже стоило мне нескольких дней поиска в Google, проб и ошибок и всех моих нервов ...
ОБНОВЛЕНИЕ
Вот доказательство того, что Tomcat Classpath или ClassLoading изрядно упирается и не имеет смысла (запущена JVM с -verbose:class
), catalina.out
вывод:
[Loaded ch.qos.logback.access.spi.IAccessEvent from file:/home/tomcat/tomcat_8.5.34/lib/logback-access-1.2.0.jar]
...
java.lang.ClassNotFoundException: ch.qos.logback.access.spi.IAccessEvent
.. .
Класс должен быть загружен в другом контексте / Classpath / ClassLoader ... Понятия не имею, как это работает ...