1.新建log4j2.xml,我是放在WEB-INF/config下
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="60">
<properties>
<property name="LOG_HOME">/logs</property>
<property name="FILE_NAME">log</property>
</properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingRandomAccessFile name="RollingFile" fileName="${LOG_HOME}/${FILE_NAME}.log"
filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<PatternLayout charset="UTF-8" pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
<Async name="RollingFileAsyncAppender">
<AppenderRef ref="RollingFile"/>
</Async>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFileAsyncAppender" />
</Root>
</Loggers>
</Configuration>
2.web.xml文件
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>/WEB-INF/config/log4j2.xml</param-value>
</context-param>
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<filter>
<filter-name>log4jServletFilter</filter-name>
<filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log4jServletFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
3.pom.xml文件
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.8.2</version>
</dependency>
4.log4j2 配置slf4j后,将项目中的获取logger的方式修改一下即可
Logger logger = LogManager.getLogger(UserController.class); 改为
Logger logger = LoggerFactory.getLogger(UserController.class);
即可
对于log4j2.xml文件里面的解释,请参考:https://www.cnblogs.com/kyleinjava/p/9590380.html
https://www.cnblogs.com/chenloveslife/p/9538388.html
- 大小: 14.5 KB
分享到:
相关推荐
文档中还会详细讲述如何使用Log4j 1.2或2.x,避免使用Commons Logging,以及如何在Spring应用中通过SLF4J与Log4j或Logback结合使用,还有如何使用Java的原生日志库JUL(java.util.logging)。此外,文档还提供了对...
- **SLF4J与Log4j或Logback**:Spring推荐使用SLF4J作为抽象层,结合Log4j或Logback进行实际的日志记录。 - **使用JUL (java.util.logging)**:虽然不是首选方案,但Spring也支持使用JUL进行日志记录。 - **...
它提供了一个统一的日志接口,使得开发者可以方便地更换底层的日志实现,如log4j或java.util.logging。 总结来说,Spring 4.3.1版本的这些jar包共同构建了Spring框架的核心功能,包括依赖注入、面向切面编程、上...
2. 描述了如何使用Log4j 1.2或2.x进行日志记录,并且如何避免使用Commons Logging。 3. 介绍了如何在Spring中使用SLF4J与Log4j或Logback一起工作,使用JUL(java.util.logging),以及在WebSphere上使用Commons ...
### Struts1.x、Spring2...- `log4j-x.x.x.jar` - `cglib-nodep-x.x.x.jar` 通过以上详细的配置和解释,可以有效地实现Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 的整合,为开发者提供了一个稳定、高效的技术栈。
- **日志框架配置**:Spring支持多种日志框架,如Commons Logging、SLF4J、Log4j等,并提供了配置指南。 #### 五、Spring Framework 4.x新特性 - **Spring 4.0新特性** - **改进的入门体验**:提供了更友好的文档...
<log4j.version>2.5</log4j.version> <groupId>junit <artifactId>junit <version>4.11 <scope>test <groupId>org.apache.struts <artifactId>struts2-core <version>2.5.1 <groupId>javax....
5. 其他支持库:如commons-logging、log4j等日志处理库,以及其他的依赖库。 整合S2SH通常涉及以下几个步骤: 1. **配置环境**:设置项目结构,导入必要的jar包,并配置web.xml以启用Struts2。 2. **定义Action类**...
8. **Log4j**: `log4j-1.2.17.jar` 是一个广泛使用的日志框架,它提供了灵活的日志记录功能,方便调试和监控应用程序。 这些包的组合,为开发者构建基于Spring 4.3的应用提供了全面的支持。从基本的依赖注入到复杂...
17.8.2. IDbParameters 17.9. Mapping DBNull values 17.10. Basic data access operations 17.10.1. ExecuteNonQuery 17.10.2. ExecuteScalar 17.11. Queries and Lightweight Object Mapping 17.11.1. ...
### Spring Boot 中 Log4j 和 Slf4j 的使用与比较 #### 一、前言 随着微服务架构的流行,日志管理成为了软件开发中不可或缺的一部分。在 Java 生态系统中,Log4j 和 Slf4j 是两种非常流行且功能强大的日志框架。...
5 结合Log4j 不仅能用于基本的日志记录,还可以与其他框架集成,如 Struts、Spring、Hibernate 等,提供统一的日志管理。例如,在 Spring 中,我们可以通过配置让 Spring 使用 Log4j 来记录框架内部的调试信息。此外...
Commons Logging 1.2 是一个轻量级的日志接口,它不提供日志实现,而是作为一个桥梁,让应用程序能够在运行时选择和切换底层的日志实现,如Log4j、java.util.logging或Apache Log4j 2。以下是关于Commons Logging的...
- **日志配置**:通过log4j或logback进行日志记录,便于调试和问题定位。 综上所述,Spring与Hibernate的整合使开发者能够充分利用两者的优势,降低复杂性,提高开发效率和应用的可维护性。通过合理的配置和设计,...
- **1.3.2.3 使用Log4J**:介绍了如何配置并使用Log4J作为日志记录器。 #### 第二部分:Spring 3 的新特性 ##### 第2章:Spring 3.0 的新特性和增强 - **2.1 Java 5**:Spring 3.0版本开始全面支持Java 5。 - **...
- `log4j.jar`: 日志实现库,如Log4j,用于记录应用程序日志。 7. **Bean容器增强jar**: - `cglib-nodep.jar`: 代码生成库,用于动态创建子类,Spring AOP和Proxy的实现依赖它。 - `asm-*.jar`: 字节码操作库,...
A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元测试Spring MVC控制器 B.2.1 模拟对象 B.2.2 断言...
在这个项目中,我们使用了SpringMvc4.3、Spring4.3、Mybatis3.4作为基础框架,Shiro1.4作为安全框架,Log4j2进行日志管理,FreeMarker2.3作为模板引擎,并结合Shiro-Redis2.9来实现session的共享存储。以下是对这些...
6. **测试和调试:** 使用JUnit或其他测试框架进行单元测试,通过日志系统(如Log4j)进行调试和问题定位。 7. **Web应用部署:** 理解如何将整合后的应用打包成WAR文件并部署到Servlet容器(如Tomcat)。 整合...