Tomcat 5.5: Como redirecionar a saída de log para um arquivo por aplicativo da Web

4

Como configurar o tomcat 5.5 (ou 6.0) que a saída de stdout e stderr de cada aplicativo / contexto da Web irá para um arquivo de log?

Eu só consegui obter o stderr para um arquivo de log específico - o stdout dos aplicativos ainda foi para catalina.out.

    
por MRalwasser 12.11.2010 / 15:48

3 respostas

5

Eu encontrei as seguintes informações, acho que isso deve ajudá-lo.

Tente isso,

  1. Cada aplicativo deve usar seu próprio log4j. Você pode conseguir isso colocando log4j.jar no WEB-INF / lib de cada aplicativo.
  2. Em cada arquivo de configuração do log4j (a localização padrão é WEB-INF / classes), especifique o nome do arquivo de log, por exemplo, log4j.appender.AppLog.File = $ {catalina.home} /logs/app1.log.
  3. Adicione swallowOutput="true" para cada contexto de modo stdout, stderr irá para o seu próprio log.

Fazemos isso no Tomcat 5.5, mas acho que também deve funcionar no 6.0.

EDIT: Aqui está o nosso META-INF / context.xml,

  WEB-INF / web.xml   

link

link

    
por 05.01.2011 / 06:42
0

stdout aponta para catalina.out no script catalina.sh , isso se aplica ao servidor Tomcat como um todo.

"$CATALINA_BASE"/logs/catalina.out 2>&1 &

Eu sei que esta não é uma resposta completa - apenas dizendo onde procurar.

    
por 14.11.2010 / 07:05
0

Outro método para separar a saída seria executar uma instância do tomcat para cada webapp. Dessa forma, você pode não apenas separar os logs do webapp, mas também os outros arquivos de log, os parâmetros da JVM, o início e a parada das instâncias e assim por diante.

Você encontrará um guia passo a passo aqui .

    
por 05.01.2011 / 08:28