3

負荷分散されたサーバーで syslog-ng を使用して集中ログを実装しました。そのセットアップの履歴は、ここで見ることができます: How do I set up PHP Logging to go to the remote server? .
正常に動作していますが、宛先で改行が削除されています。改行をそのままにしておく方法はありますか? 構成は次のとおりです。

ソース

destination php { tcp("server.com" port(xxxx)); };  
log { source(s_all); filter(f_php); destination(php); };  
filter f_php { facility(user); };  

行き先

destination d_php { file("$PROGRAM" owner(www-data) group(www-data) perm(0644)); };  
filter f_php { program("^\/var\/log\/"); };  
log { source(s_all); filter(f_php); destination(d_php); flags(final); };  
4

1 に答える 1

0

宛先の syslog テンプレート形式を変更し、最後に改行を手動で追加できます。たとえば、カスタマイズした syslog-ng ストリームの 1 つに使用するテンプレートを次に示します。日付形式を変更します (スクリプトでより簡単に解析できるようにするため)。末尾の「\n」に注意してください。

file("$PROGRAM"
        template("$R_ISODATE $HOST_FROM $MSGHDR$MSG\n")
        template_escape(no)
);

使用できるさまざまな情報については、 syslog-ng のドキュメントを参照してください。$VARS

于 2012-12-20T14:02:36.167 に答える