`
86asm
  • 浏览: 206035 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SSH集成log4j日志环境

阅读更多

第一步:在web.xml初始化log4j

	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>/WEB-INF/classes/log4j.properties</param-value>
	</context-param>

	<context-param>
		<param-name>log4jRefreshInterval</param-name>
		<param-value>6000</param-value>
	</context-param>
	<listener>
		<listener-class>
			org.springframework.web.util.Log4jConfigListener
		</listener-class>
	</listener>

 

 第二步:在上面的配置中,使用了log4j.properties作为log4j的配置文件,log4j.properties摘要代码如下:

log4j.rootLogger=ERROR,consol
log4j.logger.jmccLogger=ERROR,html

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout

log4j.appender.html=org.apache.log4j.RollingFileAppender
log4j.appender.html.maxFileSize=1KB
log4j.appender.html.maxBackupIndex=2
log4j.appender.html.file=${webapp.root}/WEB-INF/log/ex.html

log4j.appender.html.layout=org.apache.log4j.HTMLLayout
log4j.appender.html.layout.locationInfo=true

      说明:在web环境中集成log4j,关键的一步是如何找到项目真实路径,当然你也可以固执地把日志文件放在某个绝对路径上:比如log4j.appender.html.file=D:/ex.html 。但是真的要使用绝对路径吗?幸运的是spring为我们解决了此问题,spring提供了org.springframework.web.util.Log4jConfigListener监听器来初始化一些必要的log4j信息,比如它使用了System.setProperty(keyroot);  没错key=webapp.root,而root就是当前项目的真实路径(得到项目的真实路径也很简单ServletContext.getRealPath("/")),这样我们就可以使用${webapp.root}来获取项目的真实路径。

 

第三步:获取Logger对象,并在需要记录日志的地方进行日志记录。

 

补充:如果熟悉listener,并且知ServletContext.getRealPath("/"),其实这个用的频率也较高。那么完全可以写一个类似spring的Log4jConfigListener,当然也可以直接拷贝这个类,如果在项目中你并不想使用spring,只是想用log4j

 

补充2:log4j记录异常栈: Log4jUtil.getLogger()得到的是一个Logger对象

   StackTraceElement [] messages=exception.getStackTrace();
	   int length=messages.length;
	   for(int i=0;i<length;i++){
	     Log4jUtil.getLogger().error("类名:"+messages[i].getClassName());
	     Log4jUtil.getLogger().error("文件名:"+messages[i].getFileName());
	     Log4jUtil.getLogger().error("方法名:"+messages[i].getMethodName());
	     Log4jUtil.getLogger().error("行号:"+messages[i].getLineNumber());
    	}

 

4
1
分享到:
评论
1 楼 yahier 2014-10-31  
想问,不在代码中去try catch的话 log4j怎么记录项目中所有的异常信息呢

相关推荐

    [SSH+Maven+Bootstrap视频教程]_18. 测试 log4j 日志框架.zip

    Maven作为Java项目管理工具,可以帮助我们轻松地管理和集成Log4j库。在项目中添加Log4j的依赖,可以确保在编译和运行时自动加载相关库。在pom.xml文件中,你需要添加如下的依赖: ```xml &lt;groupId&gt;log4j ...

    ssh结合log4j例子

    1. **Spring集成Log4j**:Spring允许在配置文件中定义Log4j的日志级别和配置路径,通过Spring的ApplicationContext,可以获取到Log4j的日志对象,如`LoggerFactory.getLogger()`,方便在代码中记录日志。 2. **...

    SSH框架初学者入【包含log4j及jar】

    这个压缩包文件“SSH框架初学者入【包含log4j及jar】”显然是为初学者提供了一个基础的SSH项目环境,其中包含必要的log4j日志管理和jar库。下面将详细阐述SSH框架及其组成部分,以及log4j的作用。 **Struts2** 是一...

    写的ssh+log4j的Simple

    综上所述,"写的ssh+log4j+分页的Simple"可能是一个简单的Java Web项目示例,它演示了如何集成SSH框架进行应用开发,利用Log4j进行日志管理,以及实现了分页功能。这个项目可以帮助初学者理解如何在实际项目中整合...

    SSH框架中配置log4j的方法

    通过以上步骤,我们不仅实现了在SSH框架中集成Log4j的目标,还充分利用了Log4j提供的各种特性,如动态配置、灵活的日志文件管理等。这对于提高开发效率、简化运维工作具有重要意义。希望本文能帮助读者更好地理解和...

    ssh2+log4j+异常简单框架

    【SSH2+Log4j+异常简单框架】是一种常见的Java Web开发框架组合,它整合了Struts2、Hibernate和Spring三大主流框架,并结合了Log4j日志系统,用于实现高效、灵活和可维护的项目架构。这个框架的集成使得开发者能够更...

    [SSH+Maven+Bootstrap视频教程]_17. 添加 log4j.properties 配置文件.zip

    在本节视频教程中,我们将深入探讨如何在Java项目中集成SSH(Struts、Spring、Hibernate)框架,并结合Maven构建工具以及Bootstrap前端框架,来添加和配置`log4j.properties`日志文件。这个过程对于任何Java开发人员...

    ssh集成jar包

    4. 其他依赖库:包括数据库驱动(如`mysql-connector-java.jar`),log4j日志库,commons-lang3,commons-fileupload,velocity等,这些都是SSH框架运行所必需的支持库。 在搭建SSH项目时,你需要将这些jar文件添加...

    slf4j-all-log4j12-1.4.3.jar.zip CXF整合SSH你可能需要它

    这个绑定包使得SLF4J可以与Log4j 1.2版本无缝集成,方便开发者使用Log4j进行日志记录。 在Java项目中,CXF(Common eXtensible Framework)是一个开源的服务栈,用于构建和部署Web服务。SSH(Spring、Struts、...

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

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

    ssh2 spring hibernate struts2 log4j ant

    Log4j的配置可以根据环境调整,方便在开发和生产环境中进行不同的日志输出。 通过学习和掌握这些技术,开发者可以构建出健壮、可扩展的Web应用,并且能够更好地应对不断变化的业务需求。在现代Java开发中,这些工具...

    spring 配置log4j.docx

    在Spring框架中,配置Log4j是一...总的来说,Spring与Log4j的集成使得我们可以方便地管理应用的日志,包括控制日志级别、设置输出目的地和格式,以及动态刷新配置。这对于任何Java Web应用的开发和维护都是必不可少的。

    SSH2集成开发环境

    4. 其他依赖库:如log4j、commons-logging、slf4j等日志处理库,以及可能需要的数据库驱动jar文件,如mysql-connector-java。 在实际开发过程中,开发者还需要对这些框架有深入理解,包括但不限于配置文件的编写、...

    ssh集成必须的包集合

    - 其他依赖,如`log4j`日志库、`commons-lang3`和`commons-logging`等工具包,以及可能的AOP库,如`cglib-nodep`或`asm`。 在实际开发中,为了便于管理和版本控制,通常会使用构建工具如Maven或Gradle来管理这些...

    ssh集成用到的jar包

    在实际项目中,除了SSH框架相关的jar包,还需要考虑其他依赖,例如日志库(log4j、slf4j)、单元测试框架(JUnit)、Servlet容器(Tomcat)的API等。在引入ssh.jar后,需要检查项目配置,确保struts.xml、spring.xml...

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - 还需包括相关的依赖库,例如log4j、javassist、cglib等,这些是SSH框架运行所需的。 - jar包的选择应对应于项目的具体版本,确保各框架间的兼容性。 6. **配置文件**: - 配置Spring的beans.xml,声明Bean的...

    ssh、json、log4j等jar包

    3. **Log4j**:Log4j是Apache的一个开源项目,提供日志记录服务。它允许开发者灵活地控制日志信息的输出格式、级别以及存储位置,帮助调试和监控应用程序。 4. **MySQL**:MySQL是一个流行的关系型数据库管理系统...

    手工搭建SSH集成工程

    使用日志工具如Log4j进行调试,确保数据的正确保存和读取。 压缩包中的"SSH框架所需jar文件目录.txt"可能包含了SSH框架以及其他依赖库的jar文件路径。在没有Maven或其他依赖管理工具时,手动引入这些jar文件到项目...

    SSH所有jar包整合

    Log4j 是一个日志记录框架,SLF4J(Simple Logging Facade for Java)则是一个日志抽象层,允许用户在运行时插入不同的日志实现,如Log4j、Java Util Logging等。在开发过程中,日志系统能帮助调试和追踪程序运行...

    ssh集成开发jar包(struts+spring+hibernate)

    这个"ssh_lib"压缩包中包含的jar文件很可能是Struts、Spring和Hibernate框架的核心库,以及其他可能的依赖库,例如Apache Commons库、Log4j日志库等。开发者在进行SSH集成开发时,会把这些jar文件添加到项目的类路径...

Global site tag (gtag.js) - Google Analytics