我使用下一个技术堆栈构建我的“superWebApp”:
persistence provider - Hibernate 4.x
webMvc and beans container - Spring 4.x
web containter - Tomcat 7.5.x
我有一项任务是将所有日志写入db。分别为每个日志记录框架执行它会很痛苦。这就是为什么我需要将所有日志重定向到单个框架然后使用DBAppender不会有问题。
我在想log4j2,因为我用它来写“superWebApp”中的日志。那么有什么想法如何将所有日志从hibernate和spring重定向到log4j2? (重定向tomcat loogs也不错)?
如果不可能,可能还有另一个可以作为核心的日志框架?
答案 0 :(得分:11)
这对我很有用:
<properties>
<logger.version>2.0-rc1</logger.version>
</properties>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${logger.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${logger.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${logger.version}</version>
</dependency>
<dependency>
<!--HIBERNATE-SPRING - LOGGER (log4j)-->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.6</version>
</dependency>
答案 1 :(得分:7)
从Logging Spring using Log4j2开始,我们必须使用log4j-slf4j-impl。
我已经使用Spring 4测试了它也是struts 2,它运行正常。
<log4j2.version>2.1</log4j2.version>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>