2

ロガーを使用して、Tomcat 内のローカル syslog サーバーにイベントを送信しようとしています。

Apache では、次のことができます。

LogFormat "%h %A %l %u %t \"%r\" %>s %p %b" Events

CustomLog “|/usr/bin/logger -t httpd -p local6.info” Events

ただし、Tomcat で AccessLogValve を使用しようとしています。「パターン」内のものはすべて文字列として解釈されます。

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

log4jまたはlogbackを使用せずにアクセスログをsyslogサーバーに送信する方法はありますか? この構成を Prod ホストにデプロイする必要があります。Logger for Apache が prod にデプロイされました。製品アプリケーションを変更する必要がないため、ロガーを使用することをお勧めします。

4

2 に答える 2

1

簡単な答え: はい。

同様の質問と回答があります: Tomcat access logging through log4j?

log4j には syslog のサポートが組み込まれているため、必要なことを実行できます。

于 2015-04-13T08:15:44.827 に答える
0

短い答え: いいえ、今のところできません。

アクセス ログ ファイルの場合、Tomcat はログ フレームワークを使用せず、ファイルにのみログを記録できます。唯一の解決策は、 を拡張AccessLogValveして自分で行うことです。

ただし、プルリクエストがあり、受け入れられれば、誰でも簡単に実行できるようになります。(編集:実際にはすでにTomcat-trunkにあるので、tomcat8で利用できると思います)

于 2014-06-18T17:06:33.790 に答える