簡體   English   中英

Log4j 2.0-日志文件中沒有日志-使用log4j2.xml嘗試同一類中的多個日志記錄器

[英]Log4j 2.0 - No Logs appearing in the Log Files - Trying Multiple Loggers in the same Class using log4j2.xml

以下是我創建的log4j2.xml文件。 我為異步日志記錄配置了async_file.log,為常規和同步日志記錄配置了regular_file.log。 問題是創建了日志文件,但是文件的大小為零且沒有日志。 所有日志都將發送到server.log文件(JBOSS),而不是我已為其配置的2個文件(async_file.log和regular_file.log)。

  • 請讓我知道為什么日志不進入我配置的日志文件。 請對此提供幫助或給我一些指導或提示。

我正在通過名稱DCLASS調用同一個類文件中的兩個不同的記錄器,如下所示:

private static final transient Logger LOG = Logger.getLogger(DCLASS.class);

private static final transient Logger ASYNC_LOG = Logger.getLogger("ASYNC");

我在類路徑中包含以下jar:
1. log4j-api-2.0-beta8.jar
2. log4j-core-2.0-beta8.jar
3. Disruptor-3.0.0.beta1.jar

我的log4j2.xml如下:

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

<configuration status="INFO">
  <appenders>
    <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->

    <FastFile name="AsyncFastFile" fileName="../standalone/log/async_file.log" 
              immediateFlush="false" append="true">
      <PatternLayout>
        <pattern>%d %p %class{1.} [%t] %location %m %ex%n</pattern>
      </PatternLayout>
    </FastFile>

    <FastFile name="FastFile" fileName="../standalone/log/regular_file.log" 
              immediateFlush="true" append="true">
      <PatternLayout>
        <pattern>%d %p %class{1.} [%t] %location %m %ex%n</pattern>
      </PatternLayout>
    </FastFile>
  </appenders>

  <loggers>
    <!-- pattern layout actually uses location, so we need to include it -->
    <asyncLogger name="ASYNC" level="trace" includeLocation="true">
      <appender-ref ref="AsyncFastFile"/>
    </asyncLogger>

    <root level="info" includeLocation="true">
      <appender-ref ref="FastFile"/>
    </root>

  </loggers>
</configuration>

日志未進入日志文件的原因是,我使用的是“ Logger”而不是“ LogManager”。

在代碼中,我有

private static final transient Logger ASYNC_LOG = Logger.getLogger("ASYNC");

該代碼應該是

private static final transient Logger ASYNC_LOG = Logmanager.getLogger("ASYNC");

當它是'logger'時,則編譯器將查找'Log4j API';當它是'LogManager'時,它將查找'Log4j2 API'。 由於我已經將所有內容配置為使用Log4j2,因此通過將記錄器更改為LogManager,日志開始按預期方式進入日志文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM