2013-08-16 2 views
1

У меня есть несколько экземпляров Jenkins, работающих под локальным хостом в отдельных контекстах в экземпляре Tomcat 6. Я пытаюсь настроить обработчики файлов для чтения из контекстного регистратора, связанного с каждым приложением. В соответствии с документацией:Tomcat 6 logger не принимает данные журнала webapp

A context is associated with the org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path] 

, но когда я прикрепляю FileHandler следующим образом, я не получаю выход.

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC].handlers = 6ABC.org.apache.juli.FileHandler 

Я не являюсь экспертом в Tomcat, поэтому я не уверен, если это возможно, чтобы отделить журналы каждого веб-приложение один на хосте в отдельные файлы. Это ограничение Tomcat, Jenkins или ошибка конфигурации с моей стороны?

ответ

0

Вы, по крайней мере нужно исправить:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC] 

в

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ABC] 

(обратите внимание на тонкий '/' требуется, чтобы адекватно определить контекст)

После того, как это сделано, вы должны обязательно получать сообщения журнала везде, где сервлет делает:

getServletContext().log("Hi!"); 

Документация Tomcat does promise это много.

Тем не менее, это not clear, если регистраторы в иерархии [Catalina].[localhost].[/webapp] автоматически становятся корневым регистратором JUL для своего соответствующего webapp.

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