Tomcatサーバーが実行されているアプリケーションサーバー(Ubuntu 14.04)があります。この同じアプリケーション サーバーは、ログをNXlogサーバー (Ubuntu 14.04 上)に送信するように構成された " rsyslog " サーバーで構成されています。
rsyslog サーバーは、Tomcat エラー、例外およびスタック トレースを含むすべてのログを syslog サーバーに送信しますが、問題は複数行のログにあります。ログ メッセージがファイルに保存されるか、カプセル化されずにネットワーク経由で転送される場合、複数行にまたがるメッセージに存在する改行文字は、すべての行を個別のイベントとして扱う単純な行ベースのパーサーを混乱させます。& したがって、例外ログが新しい行で壊れます。
私のrsyslogのバージョンは: 7.4.4
rsyslog.conf ファイルは次のようになります。
#################
#### MODULES ####
#################
$EscapeControlCharactersOnReceive off
$LocalHostName nishant-app
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)i
#$ModLoad immark # provides --MARK-- message capability
$ModLoad imfile
$ModLoad omrelp
#$ModLoad omhdfs
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
module(load="imfile" PollingInterval="10")
###########################
#### GLOBAL DIRECTIVES ####
###########################
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#
#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# Filter duplicated messages
$RepeatedMsgReduction on
#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
#
# Where to place spool files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf ## This includes all the conf files which tells rsyslog which logs need to be sent
したがって、基本的には、例外が複数の行に散らばらないように、Tomcat スタック トレースと例外を送信する必要があります。
- 私はrsyslogの最後でこれを解決しようとしていますが、これがNxlogサーバー側でも解決できると混乱していますか?
どんな助けでも大歓迎です。