log4j:日志记录在应用程序内部打包时有效,但在由JAR提供的程序包时无效

时间:2013-08-02 00:54:34

标签: java log4j

这不仅仅是对如何进行特定于程序包的日志记录的重新讨论。我想我已经钉了。它是关于在将包移出到与其他人共享的JAR时未完成日志记录。

最初,我在我的Web应用程序中编写了一些特殊的日志记录,它将特殊语句放入与 catalina.out 分开的文件中。后来,与其他合作的Web应用程序共享此工具似乎很有用,因此我们将包含一个接口和一个类的包移动到实用程序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

0 个答案:

没有答案