首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss异步日志问题

JBoss异步日志问题
EN

Stack Overflow用户
提问于 2021-01-21 11:05:47
回答 1查看 621关注 0票数 0

版本:jboss 7.2.4

下面是日志记录的standalone.xml配置部分,基本上有两个大小的旋转文件处理程序作为异步处理程序的子处理程序。

代码语言:javascript
复制
 <subsystem xmlns="urn:jboss:domain:logging:6.0">
        <async-handler name="ASYNC">
            <queue-length value="8192"/>
            <overflow-action value="block"/>
            <subhandlers>
                <handler name="FILE"/>
                <handler name="MetricLogger"/>
            </subhandlers>
        </async-handler>

        <size-rotating-file-handler name="FILE" autoflush="true">
          <filter-spec value="not(match(&quot;application-metrics.*&quot;))"/>
          <formatter>
             <pattern-formatter pattern="%d{dd MMM yyyy HH:mm:ss,SSS} %5p [CMS] [%t] %C{1}.%M() - %m%n"/>
          </formatter>
          <file path="/opt/application/log/application.log"/>
          <rotate-size value="10m"/>
          <max-backup-index value="100"/>
          <append value="true"/>
       </size-rotating-file-handler>
       <size-rotating-file-handler name="MetricLogger" autoflush="true">
         <filter-spec value="all(match(&quot;application-metrics.*&quot;))"/>
        <formatter>
           <pattern-formatter pattern="%d{dd MMM yyyy HH:mm:ss,SSS} %5p [METRICS] - %m%n"/>
        </formatter>
        <file path="/opt/application/log/application-metrics.log"/>
        <rotate-size value="10m"/>
        <max-backup-index value="10"/>
        <append value="true"/>
      </size-rotating-file-handler>

它一开始可以成功运行,并可以将日志打印到文件中,但是运行一段时间后,它将抛出异常下面,jboss将退出.

代码语言:javascript
复制
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.logmanager.config.AbstractPropertyConfiguration$1.rollback(AbstractPropertyConfiguration.java:244)
        at org.jboss.logmanager.config.LogContextConfigurationImpl.doForget(LogContextConfigurationImpl.java:355)
        at org.jboss.logmanager.config.LogContextConfigurationImpl.forget(LogContextConfigurationImpl.java:319)
        at org.jboss.as.logging.logmanager.ConfigurationPersistence.forget(ConfigurationPersistence.java:341)
        at org.jboss.as.logging.logmanager.ConfigurationPersistence.rollback(ConfigurationPersistence.java:349)
        at org.jboss.as.logging.LoggingOperations$CommitOperationStepHandler$1.handleResult(LoggingOperations.java:122)
        at org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1533)
        at org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1515)
        at org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1472)
        at org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1455)
        at org.jboss.as.controller.AbstractOperationContext$Step.access$400(AbstractOperationContext.java:1319)
        at org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:876)
        at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:726)
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
        at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1411)
        at org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:521)
        at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:470)
        at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:432)
        at org.jboss.as.server.ServerService.boot(ServerService.java:427)
        at org.jboss.as.server.ServerService.boot(ServerService.java:386)
        at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:372)
        at java.lang.Thread.run(Thread.java:748)
 
 Caused by: java.lang.NullPointerException: overflowAction is null
         at org.jboss.logmanager.handlers.AsyncHandler.setOverflowAction(AsyncHandler.java:117)
         ... 26 more No property "queueLength" type could be determined for handler "ASYNC"
EN

回答 1

Stack Overflow用户

发布于 2021-01-25 16:24:32

在升级到Wildfly 18之后,我们的团队中也出现了同样的问题(我们落后了很多版本,很难分辨到底是哪个版本造成的)。

我们的解决方案是确保基于我们的logging.properties正确地生成standalone.xml文件,因为这是一种后备日志配置,直到子系统在启动时启动为止。

当执行standalone.sh/bat时,生成相应的代码。我们还有一些悬而未决的问题:

  1. ,为什么现在要求这样做?我们从未填充过before.
  2. Exactly文件,logging.properties脚本的哪个步骤触发了logging.properties文件的生成。这是我们目前正在评估的,以便将其包含到自定义启动过程中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65826070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档