Java Log4J未创建多个日志文件中的一个
背景: 我们在JBossV7.1.1上部署了一个应用程序。它被配置为记录到同一目录中的多个不同日志文件。他们每天都会翻身。我们最近发现~5个日志文件中的一个在过去2周左右的时间里从未得到任何日志行(并且没有滚动) 我在这里搜索了一下,没有发现任何问题;因此,要求一个新的 log4j配置: 许多其他记录器之一的配置:Java Log4J未创建多个日志文件中的一个,java,logging,jboss,log4j,Java,Logging,Jboss,Log4j,背景: 我们在JBossV7.1.1上部署了一个应用程序。它被配置为记录到同一目录中的多个不同日志文件。他们每天都会翻身。我们最近发现~5个日志文件中的一个在过去2周左右的时间里从未得到任何日志行(并且没有滚动) 我在这里搜索了一下,没有发现任何问题;因此,要求一个新的 log4j配置: 许多其他记录器之一的配置: #Concise logger log4j.appender.ConciseLogger=org.apache.log4j.DailyRollingFileAppender log4
#Concise logger
log4j.appender.ConciseLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ConciseLogger.File=../standalone/log/xyzlog/splunk-metrics.log
log4j.appender.ConciseLogger.Append=true
log4j.appender.ConciseLogger.DatePattern='.'yyyy-MM-dd
log4j.appender.ConciseLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.ConciseLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} -%X{txnid}- %m%n
log4j.appender.ConciseLogger.Encoding=UTF-8
同一配置文件中还有其他日志配置记录到完全相同的位置。这些线条如下所示:
..
log4j.appender.CacheManifestLogger.File=../standalone/log/xyzlog/cacheManifest.log
..
..
log4j.appender.APPTXNLOGGER.File=../standalone/log/xyzlog/transactions.log
问题/细节
- 我们有5个不同的日志文件可以登录。所有文件都被记录到同一个文件夹中
- 在过去的两周里,只有
(上图)停止了工作ConciseLogger
- 完全相同的构建在其他(非生产)机器上工作。在某种程度上,“它在我的机器中工作”;-)李>
- 磁盘满了吗?没有,磁盘只满了20%
- 文件权限?不,正在记录其他文件,没有问题
- 实际代码有问题吗?不太可能,因为事情都交给了SVN,而且日志特定的代码已经几个月没有被碰过了。这并不能解释为什么在两周前就必须失败
- JBoss服务器日志中是否有log4j特定异常的痕迹?没有,没有找到
- Log4J内部:它可能会为每个类别产生一个新线程,而我的这个特定类别的线程会消亡。
- 在这种情况下,有没有调试的方法
- Log4J的具体问题?见下文
- 使用相同的构建,部署到另一台机器上——工作正常——没有日志记录问题李>
- 根据,我尝试用一个附加的
启动JBoss我找到了每个类别的日志行,除了-Dlog4j.debug
。这意味着log4j忽略了一个类别。这真的很奇怪。简明日志记录
简明日志相关的条目
这是原始的log4j配置文件:
我的问题
- 你们中有人以前经历过这样的事情吗?这是一个log4j错误,它只是拒绝解析众多类别中的一个?
- 还是上面链接的配置文件存在此问题?(我对此表示怀疑,因为它以前从未失败过)
- 我可以从这里执行任何常规调试步骤吗
环境
- JBossV7.1.1
- Ubuntu 12.04(在亚马逊EC2上)
- Java SDK
自从JBoss停止日志记录后,您是否重新启动了它
有一次我遇到一个问题,日志丢失,我们找不到任何证据证明为什么不创建它,我们仍然认为原因是服务器启动不好(可能是日志监视的服务没有启动/工作),重新启动后,会出现丢失的日志。我的第一个预感是,可能有本地设置覆盖了您发布的设置。该应用程序最近是否已更改?如果您有新问题,请单击按钮询问。如果此问题有助于提供上下文,请包含指向此问题的链接。这是一个需要op解决的问题。向op请求澄清必须作为评论而不是答案发布。(你需要50点声誉才能发表评论)@ben75谢谢你的澄清。