【问题标题】:log4j2 configuration with disruptor带有中断器的 log4j2 配置
【发布时间】:2014-07-10 18:47:14
【问题描述】:

我正在尝试在 java 应用程序中使用 log4j2 和中断器。我的类路径中有以下 jar 文件:

  1. log4j-api-2.0-rc2.jar
  2. log4j-core-2.0-rc2.jar
  3. disruptor-3.2.0.jar

在我的 Java 类中,我做了以下测试:

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

public class LoggerTest {   
     private static final Logger Logger = LogManager.getLogger(LoggerTest.class.getName());

    public static void main(String[] args) {
        Logger.info("testing log4j2 with disruptor");
}

我的log4j2.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<!-- Don't forget to set system property 
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
     to make all loggers asynchronous. -->

<configuration status="INFO">
  <appenders>
    <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
    <FastFile name="RandomAccessFile" fileName="logs/test.log" immediateFlush="false" append="false"> 
      <PatternLayout>
        <pattern>%d %p %c{1.} [%t] %m %ex%n</pattern>
      </PatternLayout>
    </FastFile>
  </appenders>
  <loggers>
    <root level="info" includeLocation="true">
      <appender-ref ref="RandomAccessFile"/>
    </root>
  </loggers>
</configuration>

当我运行应用程序时,我收到以下错误(没有日志输出):

2014-07-10 14:45:32,930 ERROR Error processing element FastFile: CLASS_NOT_FOUND
2014-07-10 14:45:32,973 ERROR Unable to locate appender RandomAccessFile for logger 

【问题讨论】:

  • working - 将使用工作配置进行更新。

标签: java logging configuration log4j2 disruptor-pattern


【解决方案1】:

在 beta9 中,&lt;FastFile&gt; appender 被重命名为 &lt;RandomAccessFile&gt;。如果您在配置中重命名此元素,它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2013-04-09
    • 2014-10-18
    • 2018-05-17
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多