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 网页中获取了一个示例文件。
  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>

原文由 Ibolit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 551
2 个回答

我有同样的问题。在将 log4j-core-2.0-beta3.jar 添加 到它工作的类路径之后。

原文由 Markus Wilke 发布,翻译遵循 CC BY-SA 3.0 许可协议

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>

原文由 Vlad Mihalcea 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题