1

これは、パッケージ固有のロギングを行う方法を焼き直しただけではありません。私はそれを釘付けにしたと思います。これは、パッケージが他のユーザーと共有されている JAR に移動されたときにログが記録されないことに関するものです。

もともと、私は特別なステートメントをcatalina.outとは別のファイルに入れ、機能する Web アプリケーションに特別なロギングを書きました。後で、この機能を他の連携する Web アプリケーションと共有すると便利であると思われたため、1 つのインターフェイスと 1 つのクラスで構成されるパッケージをユーティリティ JAR に移動しました。情報収集は正常に続行されましたが、 catalina.outとは別の「特別な」ログ ファイルへの出力は停止しました。

パッケージのコピーをアプリケーションに再配置すると、ログは元の設計どおりに再び機能し始めます。

パッケージ名は、アプリケーション コードの物理的な一部であるか、消費されたライブラリ JAR からリンクされているかに関係なく、同じままです。

JAR からリンクされたクラスがロギング スキームから除外されているように見えるのに、アプリケーション コードの一部として問題なく動作することを理解するのに苦労しています。

これをご覧いただきありがとうございます。どんな提案でも大歓迎です。

log4j.propertiesは次のとおりです。

# --------------------------------------------------------------------------------------------
# 1) Standard Tomcat log (tomcat): /var/log/tomcat6/catalina.out
# 2) Splunkable output log (splunkable): /var/log/tomcat6/myapp.log.
# 3) Console used when debugging myapp from Eclipse.
log4j.rootLogger=TRACE,tomcat,console

# Rolling-file appender for Tomcat -----------------------------------------------------------
log4j.appender.tomcat.Threshold=INFO
log4j.appender.tomcat=org.apache.log4j.DailyRollingFileAppender
log4j.appender.tomcat.DatePattern='.'yyy-MM-dd
log4j.appender.tomcat.File=${catalina.home}/logs/catalina.out
log4j.appender.tomcat.file.MaxFileSize=500Mb
log4j.appender.tomcat.file.MaxBackupIndex=5
log4j.appender.tomcat.layout=org.apache.log4j.PatternLayout
log4j.appender.tomcat.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Splunkable log -----------------------------------------------------------------------------
log4j.appender.splunkable.Threshold=TRACE
log4j.appender.splunkable=org.apache.log4j.RollingFileAppender
log4j.appender.splunkable.File=${catalina.home}/logs/myapp.log
log4j.appender.splunkable.MaxFileSize=1Gb
log4j.appender.splunkable.MaxBackupIndex=7
log4j.appender.splunkable.layout=org.apache.log4j.PatternLayout
log4j.appender.splunkable.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}: %m%n

# Set the additivity flag to false to avoid propagating the rather verbose splunkable
# output to the normal Tomcat and console logs. Is this mere superstition?
  log4j.category.com.acme.web.myapp.logging=TRACE,splunkable
log4j.additivity.com.acme.web.myapp.logging=false

# This logs output to the Eclipse console when running in that mode --------------------------
log4j.appender.console.Threshold=TRACE
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
4

0 に答える 0