Como eu paro o Tomcat / rsyslog de logar no console?

1

No meu trabalho, alguém configurou o Tomcat para fazer login 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

Eu tentei silenciar as mensagens para o console usando estes dois comandos:

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

Isso não faz diferença, essas mensagens continuam chegando. Log4j não parece ser usado neste sistema. Em server.xml do Tomcat 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 o rsyslog , ele parará essas mensagens. Não sei o que foi feito para configurar o registro no rsyslog do Tomcat, não sou especialista no Tomcat. O Tomcat é o único aplicativo que envia mensagens ao console. Outras coisas são enviadas para rsyslog , mas nada é registrado no console além do Tomcat.

Como tentei o comando dmesg -n 1 , suspeito 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 ele diz tomcat-instance06, é um RPM feito por você mesmo para permitir várias instâncias do Tomcat). Eu só notei que sempre mostra uma mensagem [FATAL] no console e, em seguida, uma segunda mensagem sobre o mesmo:

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 o 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?

    
por Jacco 22.06.2016 / 15:34

1 resposta

2

Encontrei (duh).

Comentando isso em /etc/rsyslog.conf parou as mensagens:

# Everybody gets emergency messages
*.emerg                        *

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

    
por 22.06.2016 / 17:11