本文介绍了如何将所有日志从hibernate和spring重定向到log4j2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用下一个技术堆栈构建我的superWebApp:

$ p $ 持久化提供程序 - Hibernate 4.x
webMvc和beans容器 - Spring 4.x
web容器 - Tomcat 7.5.x

I有一个任务将所有日志写入数据库。对于每个日志框架分别执行它将是一件痛苦的事情。这就是为什么我需要将所有日志重定向到单个框架,然后使用DBAppender不会成为问题。



我在考虑log4j2,因为我用它来写登录superWebApp。那么是否有任何想法如何将所有日志从hibernate和spring重定向到log4j2? (也可以重定向tomcat loogs)?



如果这是不可能的,也许还有另一个可以集中的日志框架?

解决方案

这对我来说非常合适:

 <性状> 
< logger.version> 2.0-rc1< /logger.version>
< / properties>

< dependency>
< groupId> org.apache.logging.log4j< / groupId>
< artifactId> log4j-core< / artifactId>
< version> $ {logger.version}< / version>
< /依赖关系>
< dependency>
< groupId> org.apache.logging.log4j< / groupId>
< artifactId> log4j-api< / artifactId>
< version> $ {logger.version}< / version>
< /依赖关系>
< dependency>
< groupId> org.apache.logging.log4j< / groupId>
< artifactId> log4j-1.2-api< / artifactId>
< version> $ {logger.version}< / version>
< /依赖关系>
< dependency>
<! - HIBERNATE-SPRING - LOGGER(log4j) - >
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-log4j12< / artifactId>
< version> 1.7.6< / version>
< /依赖关系>


I build my "superWebApp" with the next technology stack:

persistence provider - Hibernate 4.x
webMvc and beans container - Spring 4.x
web containter - Tomcat 7.5.x

I have a task to write all logs to db. And it would be a pain to do it for each logging framework separately. That's why I need to redirect all logs to single framework and then using a DBAppender wouldn't be a problem.

I was thinking about log4j2, since I use it to write logs in "superWebApp". So is there any idea how to redirect all logs from hibernate and spring to log4j2? (it would be good to redirect tomcat loogs too)?

If it is not possible, maybe there is another logging framework that can be central?

解决方案

This worked perfectly for me:

<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>

这篇关于如何将所有日志从hibernate和spring重定向到log4j2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-31 20:59