web-dev-qa-db-ja.com

Log4j2-設定

新しいプロジェクトでLog4j2を採用しようとしていますが、ログはcatalina.outで取得します。最初のログは常にERROR StatusLogger Unable to locate a logging implementation, using SimpleLoggerです。 Log4j2のドキュメントによると、すべてを行ったようですが、それでもです。

私が実際にやったことは次のとおりです。

  1. log4j-api-2.0-beta3.jarをプロジェクトに追加しました
  2. log4j2.xmlファイルを作成し、クラスパス(現在、/usr/local/Tomcat/home/lib内)にある場所に配置します。実際、Log4J2 Webページからサンプルファイルを取得しました。
  3. tomcatを再起動しました。

Tomcat 7、MacOS X 10.8、Java 7。

私は何が欠けていますか?

念のため、私が使用しているlog4j2.xmlは次のとおりです。


<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn" name="MyApp" packages="">
  <appenders>
    <File name="MyFile" fileName="logs/app.log">
      <PatternLayout>
        <pattern>%d %p %C{1.} [%t] %m%n</pattern>
      </PatternLayout>
    </File>
  </appenders>
  <loggers>
    <root level="trace">
      <appender-ref ref="MyFile"/>
    </root>
  </loggers>
</configuration>
28
Ibolit

同じ問題がありました。また、log4j-core-2.0-beta3.jarを機能するクラスパスに追加しました。

36
Markus Wilke

Mavenには通常、次のロギング構成があります。

<properties>    
    <slf4j-version>1.7.7</slf4j-version>
    <slf4j-log4j2-version>2.0.1</slf4j-log4j2-version>
</properties>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j-version}</version>
</dependency>

<dependency>
    <groupId>org.Apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${slf4j-log4j2-version}</version>
</dependency>

ログコアライブラリを追加するには、以下を行う必要があります。

  1. 2.0.1をプロパティセクションに追加します
  2. ログコアの依存関係を追加します。

    <dependency>
        <groupId>org.Apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2-version}</version>
    </dependency>
    
15
Vlad Mihalcea

New icon バージョン2.7に更新

次のjarをプロジェクトに追加します。

Mavenを使用している場合、依存関係を追加します。

<dependency>
    <groupId>org.Apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>
5
Paul Vargas

Log4j2.8.2を使用し、webクラスフォルダー(WEB-INF/classes/log4j2.xml)にlog4j2.xmlを配置することにより、自動構成を成功させました。

2
Wei Kleeff