Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4J未创建多个日志文件中的一个_Java_Logging_Jboss_Log4j - Fatal编程技术网

Java 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

背景:

我们在JBossV7.1.1上部署了一个应用程序。它被配置为记录到同一目录中的多个不同日志文件。他们每天都会翻身。我们最近发现~5个日志文件中的一个在过去2周左右的时间里从未得到任何日志行(并且没有滚动)

我在这里搜索了一下,没有发现任何问题;因此,要求一个新的

log4j配置: 许多其他记录器之一的配置:

#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的具体问题?见下文
调试

  • 使用相同的构建,部署到另一台机器上——工作正常——没有日志记录问题
  • 根据,我尝试用一个附加的
    -Dlog4j.debug
    启动JBoss我找到了每个类别的日志行,除了
    简明日志记录
    。这意味着log4j忽略了一个类别。这真的很奇怪。
。在链接的整个输出中,我没有看到任何与
简明日志相关的条目

这是原始的log4j配置文件:

我的问题

  • 你们中有人以前经历过这样的事情吗?这是一个log4j错误,它只是拒绝解析众多类别中的一个?
    • 还是上面链接的配置文件存在此问题?(我对此表示怀疑,因为它以前从未失败过)
  • 我可以从这里执行任何常规调试步骤吗
环境

  • JBossV7.1.1
  • Ubuntu 12.04(在亚马逊EC2上)
  • Java SDK

    • 自从JBoss停止日志记录后,您是否重新启动了它


      有一次我遇到一个问题,日志丢失,我们找不到任何证据证明为什么不创建它,我们仍然认为原因是服务器启动不好(可能是日志监视的服务没有启动/工作),重新启动后,会出现丢失的日志。

      我的第一个预感是,可能有本地设置覆盖了您发布的设置。该应用程序最近是否已更改?如果您有新问题,请单击按钮询问。如果此问题有助于提供上下文,请包含指向此问题的链接。这是一个需要op解决的问题。向op请求澄清必须作为评论而不是答案发布。(你需要50点声誉才能发表评论)@ben75谢谢你的澄清。