Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将所有日志从hibernate和spring重定向到log4j2?_Java_Spring_Hibernate_Tomcat_Log4j - Fatal编程技术网

Java 如何将所有日志从hibernate和spring重定向到log4j2?

Java 如何将所有日志从hibernate和spring重定向到log4j2?,java,spring,hibernate,tomcat,log4j,Java,Spring,Hibernate,Tomcat,Log4j,我使用下一个技术堆栈构建我的“superWebApp”: persistence provider - Hibernate 4.x webMvc and beans container - Spring 4.x web containter - Tomcat 7.5.x 我的任务是将所有日志写入数据库。对于每一个日志框架来说,单独完成这项工作将是一件痛苦的事情。这就是为什么我需要将所有日志重定向到单个框架,然后使用DBAppender不会有问题 我在考虑log4j2,因为我用它在“superW

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

persistence provider - Hibernate 4.x
webMvc and beans container - Spring 4.x
web containter - Tomcat 7.5.x
我的任务是将所有日志写入数据库。对于每一个日志框架来说,单独完成这项工作将是一件痛苦的事情。这就是为什么我需要将所有日志重定向到单个框架,然后使用DBAppender不会有问题

我在考虑log4j2,因为我用它在“superWebApp”中写日志。那么,您知道如何将所有日志从hibernate和spring重定向到log4j2吗?(也可以重定向tomcat loogs)


如果这是不可能的,也许有另一个日志框架可以作为中心

这对我来说非常有效:

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

2.0-rc1
org.apache.logging.log4j
log4j型芯
${logger.version}
org.apache.logging.log4j
log4japi
${logger.version}
org.apache.logging.log4j
log4j-1.2-api
${logger.version}
org.slf4j
slf4j-log4j12
1.7.6
从中,我们必须使用log4j-slf4j-impl

我用Spring4和Struts2对它进行了测试,效果很好

<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>
2.1
org.apache.logging.log4j
log4japi
${log4j2.version}
org.apache.logging.log4j
log4j-1.2-api
${log4j2.version}
org.apache.logging.log4j
log4j型芯
${log4j2.version}
org.apache.logging.log4j
log4j-slf4j-impl
${log4j2.version}

log4j-1.2-api是我所缺少的!另外一个答案是,在花费了大量时间试图将Spring的信息信息记录到控制台之后,这是唯一一个真正有效的答案。