准备工作:
开发工具:eclipse 或其他IDE
spring版本3.24下载地址:
Log4j版本:log4j-1.2.16.jar
1.创建一个动态web项目,名字任意指定
2.导入spring-framework-3.2.4.RELEASE\libs下以及log4j的jar包
spring-beans-3.2.4.RELEASE.jar
spring-context-3.2.4.RELEASE.jar
spring-core-3.2.4.RELEASE.jar
log4j-1.2.16.jar
2.在classpath(也就是src下)下创建在log4j包的log4j.properties 具体配置说明可以百度一下
log4j.rootCategory=INFO,stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[springLogger] %d{yyyy MMM dd HH:mm:ss,SSS} %p [%t] %C.%M(%L) %m%n log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=${springLogger.root}/logs/logger.log log4j.appender.R.layout=org.apache.log4j.PatternLayout 1log4j.appender.R.layout.ConversionPattern=[springLogger] %d{yyyy MMM dd HH:mm:ss,SSS} %p [%t] %C.%M(%L) %m%n log4j.logger.org.springframework=DEBUG log4j.logger.org.apache.velocity=FATAL
在web.xml中配置内容:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>springLogger</display-name> <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"--> <context-param> <param-name>webAppRootKey</param-name> <param-value>springLogger.root</param-value> </context-param> <!-- log4j.properties 的路径 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- 开一条watchdog线程每60秒扫描一下配置文件的变化 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!-- log4j的日志监听--> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml </param-value> </context-param> <listener> <!-- 在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和global session,如果你想让你的容器里的某个bean拥有其中某种新的web作用域,除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置 --> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
在classpath(也就是src下)下创建 applicationContext.xml 资源文件,没有注入内容,只为测试
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> </beans>
在项目中com.test下创建一个Main.java类文件
package com.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.util.Assert; /** * @author HL Yang * @date 创建时间:2014年11月25日 下午4:09:30 */ public class Main { public static void main(String args[]) throws InterruptedException{ ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); Assert.isNull(ctx,"this ctx is not null "); } }
至此配置文件都已完成
需要注意的两点是:
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"-->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>springLogger.root</param-value>
</context-param>
可以与log4j.properties中log4j.appender.R.File=${springLogger.root}/logs/logger.log对应输出
相关推荐
3. **在Spring MVC中使用Log4j**:在Spring MVC的Controller或其他需要记录日志的类中,引入`org.apache.log4j.Logger`,并创建一个实例。例如: ```java import org.apache.log4j.Logger; public class ...
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
总之,Spring Boot Starter Log4j2使得在Spring Boot项目中集成和使用Log4j2变得简单易行。通过合理配置,我们可以实现灵活的日志管理,满足各种开发场景的需求。在实际开发中,掌握Log4j2的配置和使用,能帮助我们...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
本项目将Spring Boot与MyBatis集成,同时舍弃了Spring Boot默认的日志系统Logback,转而采用Log4j2来实现日志记录。下面我们将详细讨论这三个技术及其在项目中的应用。 首先,Spring Boot是由Pivotal团队提供的一个...
使用Spring时,开发者还需要注意与其他Java库的兼容性,例如JDBC驱动、ORM框架(如Hibernate、MyBatis)的jar包,以及用于日志记录的log4j.jar、log4j-api.jar和log4j-core.jar。在实际项目中,这些jar包通常会被...
在IT行业中,日志记录是系统开发不可或缺的一部分,它能够帮助开发者追踪程序运行状态、定位...日志记录不仅有助于日常开发,还能在生产环境中提供关键的故障排查信息,因此理解和掌握Spring与Log4j的集成至关重要。
Spring框架,作为一个全面的Java企业级应用开发平台,也与Log4j深度集成,为开发者提供了方便的日志记录功能。本文将详细讲解Log4j的配置以及如何在Spring项目中使用Log4j。 **一、Log4j基础知识** 1. **Log4j组件...
Spring 5.0集成log4j2日志管理的示例代码 本篇文章主要介绍了Spring 5.0集成log4j2日志管理的示例代码,旨在帮助读者快速掌握log4j2在Spring 5.0框架下的配置和使用。 首先,需要引入log4j 2的三个jar包:log4j-...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
Spring提供了与各种日志框架的集成,包括Log4j,使得日志配置更加方便。 整合Spring和Log4j,我们需要完成以下步骤: 1. **引入依赖**:在项目的Maven或Gradle构建文件中添加Log4j的依赖库。对于Maven,可以在`pom...
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
将 Log4j 集成到 Spring MVC 应用中,可以方便地进行日志管理和分析。 1. **Log4j 概述** - 日志框架的作用:记录应用程序运行过程中的信息,如错误、警告、调试信息等,帮助开发者追踪和定位问题。 - Log4j 特点...
在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...
总结起来,Spring 5集成Log4j2需要的jar包包括log4j-core、log4j-api、slf4j-api和log4j-slf4j-impl,同时需要一个配置文件来定义日志的行为。通过SLF4J接口,开发者可以方便地在不修改代码的情况下切换不同的日志...
在Spring框架中集成和使用Log4J是一项常见的任务,它能帮助我们记录应用程序的运行日志,便于调试、性能分析和问题排查。本项目"SpringLog4JDemo"是一个基于Eclipse的实战示例,旨在教会开发者如何在Spring环境中...
# 基于Spring Boot和Log4j2的TruthBean日志系统 ## 项目简介 TruthBean日志系统是一个基于Spring Boot和Log4j2框架的高性能日志管理工具。它提供了丰富的日志级别和灵活的配置选项,适用于各种Java应用程序的日志...
本资源包含的是关于`SpringMVC`、`Log4j2`、`Logback`以及`Jackson`的日志脱敏实现源码,提供了多种实现方式,旨在帮助开发者在保障信息安全的同时,充分利用日志进行系统分析。 1. **基于正则表达式的日志脱敏实现...
本文将深入探讨这些框架的集成以及log4j日志系统的应用。 首先,Spring框架作为核心,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等功能,有助于简化应用的...
Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4j2作为Log4j的升级版本,它在性能、可配置性和可扩展性上有了显著提升,同时也修复了Log4...