`

spring2在web下对log4j的增强

阅读更多

废话 不多讲 看源码 ~!

web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<!-- 
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
	 -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>WEB-INF/log4j.properties</param-value>
	</context-param>
	<context-param>
		<param-name>log4jRefreshInterval</param-name>
		<param-value>60000</param-value>
	</context-param>
	<listener>
		<listener-class>
			org.springframework.web.util.Log4jConfigListener
		</listener-class>
	</listener>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 log4的配置文件

log4j.rootLogger=ERROR,CONSOLE,ROLLING_FILE
#INFO,CONSOLE,ROLLING_FILE
#ERROR,ROLLING_FILE

###################
# Console Appender
###################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n

########################
# Rolling File
########################
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=INFO
log4j.appender.ROLLING_FILE.File=d:/springaop1xdemo.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=5000KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=2
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[%p] %d %c - %m%n

 测试类

package test;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Test {
	protected static final Log log = LogFactory.getLog(Test.class);
	public String sayHello(){
		log.info("info hello");
		log.debug("debug hello");
		log.error("error hello");
		return "HelloWorld";
	}
}

 web测试页面

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    This is my JSP page. <br>
    <% 
    test.Test tt = new test.Test();
    out.print(tt.sayHello());
     %>
  </body>
</html>

有人要问了 为什么要这么复杂

有什么不同~?

最好的一点就是可以改变记录级别和策略,不需要重启Web应用

这样在发布之后去查找错误非常有利

可以将log4j.properties和其他properties统一放在/WEB-INF/下

便于管理

下面是一个测试工程 在myeclipse6.0GA下通过~!

 

  • s2log4.rar (4.4 KB)
  • 描述: 项目工程
  • 下载次数: 27
分享到:
评论

相关推荐

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    最后,log4j是日志记录库,它在`log4j-core-2.11.0.jar`中实现。在软件开发中,日志记录对于调试、性能分析和问题排查至关重要。Log4j提供了丰富的配置选项,允许开发者定制日志级别、输出格式和目的地,使得在项目...

    Spring对Log4J的增强.txt

    ### Spring对Log4J的增强知识点详解 #### 一、Spring与Log4J集成概述 在Java企业级应用开发中,日志记录是一项至关重要的功能。它不仅有助于开发者调试程序,还能帮助系统管理员进行问题排查及性能分析。Spring...

    springmvc5+hibernate5+junit4+log4j2整合实例

    在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    logging-log4j2-log4j-2.15.0-rc2.7z

    5. **log4j-jakarta-web**:面向Jakarta EE(前身为Java EE)的Web应用程序,这个模块确保了在Web环境下的日志记录无缝集成。新版本可能加强了与最新Jakarta EE规范的兼容性。 6. **log4j-1.2-api**:为兼容旧版本...

    springmvc spring3 hibernate4 log4j

    标题中的"springmvc spring3 hibernate4 log4j"代表了一个基于Java的Web开发框架的组合,主要包括Spring MVC、Spring 3、Hibernate 4和Log4j四个关键组件。这四个技术是Java后端开发中非常重要的工具,下面将详细...

    SSM框架示例+log4j2+jni

    接下来,log4j2是Apache的一个开源日志组件,它提供了灵活的日志记录功能,包括不同的日志级别(DEBUG, INFO, WARN, ERROR, FATAL, OFF),并且可以通过配置文件(log4j2.xml或log4j2.json)来定制日志输出的格式、...

    搭建struts hibernate log4j spring(好东西)

    本文将详细介绍如何在Web项目中集成Struts、Hibernate、Log4j以及Spring框架,构建一个完整的Java Web应用程序环境。这些技术组合在一起能够提供强大的功能支持,包括MVC架构实现、对象关系映射(ORM)、日志记录...

    Struts_Spring_Hibernate_Log4j_Validator实例演示.rar

    Struts、Spring、Hibernate、Log4j和Validator是Java Web开发中的重要框架和技术,它们各自在应用程序的不同层面发挥着关键作用。在这个实例演示中,这些技术被整合到一起,构建了一个完整的Java EE应用。 1. **...

    Spring2.0+hibernate3.1+log4j+mysql demo

    标题“Spring2.0+hibernate3.1+log4j+mysql demo”揭示了一个集成开发环境,其中包含了四个核心的技术组件:Spring框架的2.0版本、Hibernate ORM框架的3.1版本、日志工具log4j以及MySQL数据库。这个组合常用于构建...

    Pro Apache Log4j second edition

    - **Web应用集成**:展示如何在常见的Web应用框架(如Spring MVC、Struts等)中集成Log4j进行日志记录。 - **分布式系统**:讨论在分布式系统环境下如何配置和使用Log4j,确保日志的一致性和完整性。 - **高级应用...

    Maven多模块 + Spring4.0.6 + SpringMVC4.0.6 + Mybatis 3.2.7 + log4j 2.1

    Log4j是Apache的一个开源日志记录组件,2.1版本带来了许多增强,包括性能提升、可配置的日志级别、更灵活的日志输出格式,以及对Java 8的支持。它允许开发者根据需求选择不同的日志策略,如控制台输出、文件记录、...

    Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包

    这里我们关注的是基于Java技术栈的Web应用环境,具体包括Hibernate4、SpringMVC、JUnit4和log4j这四个核心组件。下面将详细介绍这些组件以及如何整合它们进行环境搭建。 **1. Hibernate4** Hibernate是一个开源的...

    spring mvc +mysql+log4j+aop

    综上,这个项目涵盖了Spring MVC作为web应用的核心框架,利用MySQL存储和处理数据,Log4j实现日志记录,AOP增强Controller的功能,DRUID作为高效的数据库连接池,以及对旧版浏览器的兼容性处理。对于初学者来说,这...

    spring+quartz 精简版jar包 含log4j

    5. **Commons Logging**:Apache Commons Logging是Java日志抽象层,`commons-logging.jar`使得开发者能够在不修改代码的情况下切换底层日志实现,如log4j、java.util.logging等。这增加了项目的灵活性,方便日志...

    junit-4.10.jar,spring3,log4

    在Spring框架中,可以通过配置log4j.properties或log4j.xml文件来定制日志行为,与Spring的其他组件整合,实现统一的日志管理。 在提供的文件列表中,`spring-framework-3.0.0.RC3`是Spring框架3.0的Release ...

    Log4j The Complete Manual.pdf

    此文档适用于**Log4j 1.2及后续版本**,这些版本在原有基础上进行了诸多改进和功能增强。 - **作者**: Ceki Gülcü,是Log4j项目的主要贡献者之一,他对日志记录技术有着深入的理解和研究。 #### 二、许可证与版权...

    struts2.3.20和log4j1.2.9完整开发jar包

    在使用Eclipse开发Struts 2.x和Log4j 1.x的Web项目时,确保引入正确的jar包至关重要。以下是对每个压缩包子文件的功能和作用的详细说明: 1. **freemarker-2.3.19.jar**:FreeMarker是一个模板引擎,用于生成动态...

Global site tag (gtag.js) - Google Analytics