Como faço para impedir que o Tomcat/rsyslog registre no console?

Como faço para impedir que o Tomcat/rsyslog registre no console?

No meu trabalho, alguém uma vez configurou o Tomcat para registrar no syslog. O problema é que essas mensagens também são enviadas para o console.

O sistema é RHEL6, estes são os RPMs envolvidos

rsyslog-5.8.10-10.el6_6.x86_64
tomcat-7.0.64-1.x86_64

Tentei silenciar mensagens para o console usando estes dois comandos:

dmesg -n 1
sysctl -w kernel.printk="1 4 1 3"

Isso não fez diferença, essas mensagens continuam chegando.Log4jnão parece ser usado neste sistema. No server.xmlTomcat, esta seção é para registro:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log." suffix=".txt" rotatable="false"
       pattern="%h %l %u %t &quot;%r&quot; %s %b" />

Se eu parar, rsyslogessas mensagens serão interrompidas. Não sei o que foi feito para configurar o log rsyslogdo Tomcat, não sou especialista em Tomcat. Tomcat é o único aplicativo que envia mensagens para o console. Outras coisas são enviadas, rsyslogmas nada é registrado no console além das coisas do Tomcat.

Desde que tentei o comando, dmesg -n 1suspeito que o Tomcat esteja enviando mensagens no nível mais alto, mas não consigo encontrar nenhum código que possa ser responsável por isso.

Exemplo de uma mensagem no console (observe que diz tomcat-instance06, é um RPM feito por você mesmo para permitir múltiplas instâncias do Tomcat). Acabei de notar que sempre mostra uma mensagem [FATAL] no console e, em seguida, uma segunda mensagem sobre a mesma coisa:

Message from syslogd@localhost at Jun 22 16:52:12 ...
 [FATAL] some.portal-app: [model.website.PageService] RequestID already used - ...#012Detail: #012detail#012Tag context: #012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 486#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 484#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, l...

Message from [email protected] at Jun 22 16:52:12 ...
 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 482#012/opt/tomcat-instance06/webapps/ROOT/model/WebserviceRequest.cfc, line 268#012/opt/tomcat-instance06/webapps/ROOT/model/website/PageService.cfc, line 194#012/opt/tomcat-instance06/webapps/ROOT/model/website/PageService.cfc, line 86#012/opt/tomcat-instance06/webapps/ROOT/model/RequestContextDecorator.cfc, line 16#012/opt/tomcat-instance06/webapps/ROOT/model/RequestContextDecorator.cfc, line 232#012/opt/tomcat-instance06/webapps/ROOT/handlers/General.cfc, line 596#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/Controller.cfc, line 764#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/Controller.cfc, line 648#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/web/services/ExceptionService.cfc, line 51#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/Coldbox.cfc, line 350#012/opt/tomcat-instance06/webapps/ROOT/coldbox/system/Coldbox.cfc, line 382#012/opt/tomcat-instance06/webapps/ROOT/Application.cfc, line 60

Este é o conteúdo de /etc/rsyslog.conf:

#
# Use traditional timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# Provides --MARK-- message capability
$ModLoad immark

# Provides support for local system logging (e.g. via logger command)
$ModLoad  imuxsock

# set ratelimit interval
$SystemLogRateLimitInterval 2
$SystemLogRateLimitBurst 150

# Provides UDP syslog reception
$ModLoad  imudp

# Syslog server listen address
$UDPServerAddress 127.0.0.1

# Syslog server listen UDP port
$UDPServerRun 514

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
kern.*                                                  /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local0.none;local6.none  /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                                        /var/log/secure
# Log all the mail messages in one place.
mail.*                                                           -/var/log/mail.log

# Log cron stuff
cron.*                                                            /var/log/cron

# Everybody gets emergency messages
*.emerg                                                           *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                                    /var/log/spooler

# Save boot messages also to boot.log
local6.warning                                                    /var/log/audit_orcl.log
LOCAL6.WARNING                                                    /var/log/audit_orcl.log

# Save boot messages also to boot.log
local7.*                                                          /var/log/boot.log

# Log all messages to the following syslog servers
<I have removed this section containing ip's of syslogservers>

Em /etc/rsyslog.conf tentei comentar kern.*

#kern.*                                                  /dev/console

Mas depois de reiniciar o rsyslog ele ainda registra essas mensagens do Tomcat no console :(

Alguma ideia de onde procurar para desativar essas mensagens?

Responder1

Encontrei (duh).

Comentar isso /etc/rsyslog.confinterrompeu as mensagens:

# Everybody gets emergency messages
*.emerg                        *

E também descobri que o fato de o Tomcat ser o único aplicativo que faz login continuamente é devido a um aplicativo mal programado que registra cada mensagem como fatal, fazendo com que ela vá para o console.

informação relacionada