Como redirecionar os logs do Tomcat para o catalina.out em vez do syslog?

2

Nas notas de lançamento de openSUSE 13.1 , os desenvolvedores orgulhosamente declararam que Tomcat logs não estão mais sendo gravados em catalina.out , mas sim gravados em syslog . Eu vi um comportamento similar com novas distribuições, mas agora é o meu problema também. Eu realmente não sei porque é considerado como melhoria. E é por isso que,

  1. Minha instalação do Tomcat é usada como playground por vários desenvolvedores, e eu dificilmente quero compartilhar meu syslog com eles.
  2. A webapp em Tomcat é bem detalhada com logs (já que está em desenvolvimento) e não quero colocar todo esse lixo no syslog.

Existem muitos tutoriais sobre como redirecionar o log do Tomcat para o syslog, mas eu preciso executar uma operação inversa. Alguma idéia?

UPD: Aqui está o meu tomcat.conf , nada suspeito:

JAVA_HOME="/etc/alternatives/jre"

CATALINA_HOME="/usr/share/tomcat" CATALINA_BASE="/usr/share/tomcat" CATALINA_TMPDIR="/var/cache/tomcat/temp"

SECURITY_MANAGER="false"

SHUTDOWN_WAIT="30"

SHUTDOWN_VERBOSE="false"

CLEAR_WORK="false"

CATALINA_OPTS="-Xms2G -Xmx8G -XX:PermSize=256m -XX:MaxPermSize=4G"

    
por Ilia Nedoluzhko 25.03.2014 / 01:14

1 resposta

1

Tomcat sendo instalado do repositório do openSUSE é executado como um serviço em systemd . De acordo com esta página , não é possível redirecionar a saída de dados controlados pelo sistema serviços diretamente para o arquivo. Assim, tenho a única opção: filtrar as mensagens de syslog quando chegam lá.

Eu criei o arquivo /etc/rsyslog.d/tomcat.conf e coloquei essas linhas lá:

:programname,contains,"tomcat" /var/log/tomcat/tomcat.log

:programname,contains,"tomcat" ~

Isso funciona bem para mim.

UPD 2018: Hoje em dia, todo desenvolvedor prefere ter a própria instância do Tomcat descompactada em uma pasta, não instalada em todo o sistema. Ou até mesmo um embutido no programa, que poderia ser feito no Spring Boot, por exemplo.

    
por 25.03.2014 / 23:23