6

log4j2 ドキュメントlog4j2 Java 構成では、デフォルトの構成は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

これにより、レベル ERROR または FATAL のログがコンソールに記録されます。私のデフォルトのロギングも同じように機能します。私が遭遇する問題は、私がこれを行うときです。

<logger name="com.foo.Bar" level="TRACE"/>
<Root level="ERROR">
  <AppenderRef ref="STDOUT">
</Root>

ドキュメントlog4j2 Java configurationによると、これは

com.foo.Bar 以外のすべてからすべての TRACE 出力を削除します。

一方、私の実装は、

<logger name="com.foo.Bar" level="TRACE"/>

そこにもいませんでした。エラーログのみが出力されます。

質問

  • 他の誰かがこの問題に遭遇しましたか?
  • 誰でも再現できますか?
  • 誰もそれを修正する方法を知っていますか? 私はほとんど誰かに1ドルを与えるでしょう。ただし、私は間違いなく彼らの答えを緑にマークすることに落ち着きます.

ここに私のセットアップに関するいくつかの情報があります:

Maven の依存関係

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-beta9</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.0-beta9</version>
      </dependency>
    <dependency>

他の

これを適切なクラスでテストしています。JUnit テスト ファイルを実行しています。私は src/main .xml ファイルを使用し、src/test .xml ファイルを使用しました。どちらも同じ結果に終わります。

最終目標

私の最終目標は、特定のロガーに SMTP リクエストを送信させることです。私はこれを行う方法を知っていると確信しています。私はこの小さな問題に苦しんでいます

4

1 に答える 1