2012-11-18 175 views
26

我試圖在我的新項目中採用Log4j2,但我的日誌是catalina.out,第一個日誌總是:ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger。看來我已經根據Log4j2文檔完成了所有工作,但仍然如此。Log4j2 - 配置

這裏是我其實已經做了。

  1. 添加log4j-api-2.0-beta3.jar我的項目
  2. 創建log4j2.xml文件,並把它放在是classpath中的位置(目前,在/usr/local/tomcat/home/lib事實上,我從Log4J2網頁採取了樣本文件。
  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> 

回答

33

我有同樣的問題。在將類型路徑加入log4j-core-2.0-beta3.jar之後。

13

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> 

要添加日誌核心lib中你必須:

  1. 添加2.0.1屬性部分
  2. 添加日誌核心依賴項:

    <dependency> 
        <groupId>org.apache.logging.log4j</groupId> 
        <artifactId>log4j-core</artifactId> 
        <version>${log4j2-version}</version> 
    </dependency> 
    
4

New icon更新到2.7版本

下一個罐子添加到您的項目:

如果您正在使用Maven,添加的依賴:

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.7</version> 
</dependency> 
1

我用log4j2.8.2,我讓它自動配置成功通過把log4j2.xml在web類文件夾(WEB-INF /班/ log4j2.xml)