Java 将Spring与Log4j2集成
我希望Spring使用Log4j2进行日志记录,因为有时我希望获得调试级别。我已经读了很多相关的话题和例子,但是没有一件事是有效的。。我设法从自己的类配置了log4j2和log,但没有从spring配置。 我得到的:Java 将Spring与Log4j2集成,java,spring,maven,spring-mvc,log4j2,Java,Spring,Maven,Spring Mvc,Log4j2,我希望Spring使用Log4j2进行日志记录,因为有时我希望获得调试级别。我已经读了很多相关的话题和例子,但是没有一件事是有效的。。我设法从自己的类配置了log4j2和log,但没有从spring配置。 我得到的: Maven依赖项: <dependencies> <!-- SERVLT API --> <dependency> <groupId>javax.servlet</groupId>
Maven依赖项:
<dependencies>
<!-- SERVLT API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- APACHE TILES -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.5</version>
</dependency>
<!-- APACHE FILEUPLOAD -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- Spring and Transactions -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- Spring ORM support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- SPRING SECURITY -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- LOGGING -->
<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>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${logger.version}</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!-- POSTGRE DRIVER -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1207.jre7</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- JACKSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies>
javax.servlet
javax.servlet-api
3.0.1
假如
朱尼特
朱尼特
3.8.1
测试
org.apache.tiles
附加瓷砖
3.0.5
文件上传
文件上传
1.3.1
org.springframework
spring上下文
${spring framework.version}
org.springframework
德克萨斯州春季
${spring framework.version}
org.springframework
弹簧网
${spring framework.version}
org.springframework
SpringWebMVC
${spring framework.version}
org.springframework
春季甲虫
${spring framework.version}
org.springframework.security
spring安全网
${spring framework.version}
org.springframework.security
spring安全配置
${spring framework.version}
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.apache.logging.log4j
log4j-slf4j-impl
${logger.version}
org.hibernate
休眠实体管理器
${hibernate.version}
org.hibernate
冬眠核心
${hibernate.version}
org.postgresql
postgresql
9.4.1207.jre7
公共dbcp
公共dbcp
1.4
com.fasterxml.jackson.core
杰克逊数据绑定
2.7.0
log4j.xml:(编辑:文件名为log4j2.xml-抱歉出错)
如果有什么相关的事情我没有告诉-告诉我我将非常感谢你帮我解决这个问题
<!-- Log4j Configuration -->
<bean id="log4jInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod">
<value>org.springframework.util.Log4jConfigurer.initLogging</value>
</property>
<property name="arguments">
<list>
<value>${path.to.log4j.file}</value>
</list>
</property>
</bean>
org.springframework.util.log4jconfig.initLogging
${path.to.log4j.file}
将其添加到spring上下文文件中
org.springframework.util.log4jconfig.initLogging
${path.to.log4j.file}
将此添加到spring上下文文件中我相信spring使用commons日志记录,因此您需要commons日志记录jar和log4j jcl jar。我相信spring使用commons日志记录,因此您需要commons日志记录jar和log4j jcl jar。如果有人正在使用spring 5并来到本文,请注意,如(或更简要地在中解释):
- 不再需要像JCL-over-SLF4J这样的外部网桥,相应地,也不需要手动将标准Commons日志jar从spring核心依赖项中排除
- 只需将log4j2.x或SLF4J放在类路径上,不需要任何额外的桥接jar,或者依赖于通过JUL的默认日志记录(具有可定制的JUL设置)
log4j2
,将其依赖项添加到pom.xml
中,如下所示:
org.apache.logging.log4j
:
import org.apache.logging.log4j.LogManager;
导入org.apache.logging.log4j.Logger;
公共类HelloWorld{
私有静态最终记录器Logger=LogManager.getLogger(“HelloWorld”);
公共静态void main(字符串[]args){
logger.info(“你好,世界!”);
}
}
/src/main/resources中的配置文件
您需要一个log4j2
配置文件,可以是xml
、json
或yaml
格式
中的详细信息和示例如果有人正在使用Spring 5并来到本文,请注意,如中所述(或在中更简要地解释):
- 不再需要像JCL-over-SLF4J这样的外部网桥,相应地,也不需要手动将标准Commons日志jar从spring核心依赖项中排除
- 只需将log4j2.x或SLF4J放在类路径上,不需要任何额外的桥接jar,或者依赖于通过JUL的默认日志记录(具有可定制的JUL设置)
也就是说,对于log4j2
,将其依赖项添加到pom.xml
中,如下所示:
org.apache.logging.log4j
:
import org.apache.logging.log4j.LogManager;
导入org.apache.logging.log4j.Logger;
公共类HelloWorld{
私有静态最终记录器Logger=LogManager.getLogger(“HelloWorld”);
公共静态void main(字符串[]args){
logger.info(“你好,世界!”);
}
}
/src/main/resources中的配置文件
您需要一个log4j2
配置文件,可以是xml
、json
或yaml
格式
详细信息和示例在中,我在pom.xml文件中看不到任何log4j2依赖项。1.我认为log4j2 2的配置文件是log4j2.xml 2。您不需要使用log4j2来获得调试级别。几乎任何SLF4j绑定都可以it@AshraffAliWahaborg.apache.logging.log4j:log4j-*
实际上是log4j2@Adrian嗯,你说得对我在帖子中犯了一个错误。该文件是log4j2.xml,我知道它是正确的。你能链接到一些配置SLF4j的示例吗?我不是真正的log4j2,所以我对其他日志框架持开放态度。
<!-- Log4j Configuration -->
<bean id="log4jInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod">
<value>org.springframework.util.Log4jConfigurer.initLogging</value>
</property>
<property name="arguments">
<list>
<value>${path.to.log4j.file}</value>
</list>
</property>
</bean>