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(key, root); 没错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());
- }
SSH集成log4j日志环境[转]的更多相关文章
- SSH集成log4j日志环境
第一步:在web.xml初始化log4j <context-param> <param-name>contextConfigLocation</param-name> ...
- Hibernate4.3.5搭建Log4j日志环境
本文记录Hibernate4.3.5搭建Log4j日志环境的过程 1.搞清楚Hibernate4.3.5的日志环境依赖 方法:查看帮助文档 3.5. Logging Important Complet ...
- Hibernate学习之——搭建log4j日志环境
昨天讲了Hibernate开发环境的搭建以及实现一个Hibernate的基础示例,但是你会发现运行输出只有sql语句,很多输出信息都看不见.这是因为用到的是slf4j-nop-1.6.1.jar的实现 ...
- eclipse搭建Log4J日志环境
在hibernate使用的日志标准都为slf,slf可以看作为它的接口,因此需要找到它的实例,为我们做日志.我们选择使用log4j为实例. 1. 为防止冲突,先将slf4j-nop的jar包(它也是s ...
- Spring集成log4j日志管理
原文地址:http://blog.csdn.net/naruto1021/article/details/7969535 在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理. ...
- hibernate3.3.2搭建log4j日志环境
日志的框架有很多,hibernate3.3.2用的是slf4j,slf4j简单理解为一个接口,标准.具体的实现可以是不同的实现(如slf4j自己的实现,log4j等).slf就像JDBC,JPA.自己 ...
- Hibernate配置log4j日志环境
1.准备所需的jar 说明:具体所使用的jar包的版本与你所使用的Hibernate版本有关,我用的是(hibernate-release-4.3.11.Final) <1>准备slf4j ...
- java环境log4j日志环境的配置。
首先需要4个jar包.下载地址如下 http://pan.baidu.com/s/1i4k3fiH 期中包含如下包,放到工程的lib中即可. 除此之外还需要一个配置文件,分享链接如下. htt ...
- Hibernate 再接触 基础配置 搭建Log4j环境 Junit日志环境等
<!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.aut ...
随机推荐
- WIN7远程桌面连接方法!
WIN7远程桌面连接方法!
- python 清楚数组重复字符串元素
l1 = ['bb','c','d','bb','c','a','a'] l2 = {}.fromkeys(l1).keys() print (l2)
- 10. 星际争霸之php设计模式--原型模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- HTML5 UI框架Kendo UI Web自定义组件(一)
Kendo UI Web包含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在Kendo UI Web中如何创建自定义组件呢,在下面的文章中 ...
- 给jar包进行数字签名(2014-06-28记)
整理一下两年前用到的一些资料. 为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数据签名,当客户端打开Applet或者JWS程 ...
- poj 3617 Best Cow Line
http://poj.org/problem;jsessionid=F0726AFA441F19BA381A2C946BA81F07?id=3617 Description FJ is about t ...
- androidService总结
2.服务 2-1:启动服务 2-1-1:创建服务 extends Service 2-1-2:注册 <service android:name="com.firefly.style_s ...
- 20160330001 调用及触发Office Outlook 约会
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- OGNL_一点
ognl此表达式语言,是一门什么样的语言呢?下面然我为大家简单的讲解一点小小的关于它的内容吧! 然我来简单得解释说:OGNL(Object-Graph Navigation Language),可以方 ...
- 为linux系统添加虚拟内存swap分区
阿铭linux学习笔记之swap分区 一.作用: swap分区是交换分区,在系统物理内存不足时与swap进行交换,对web服务器的性能影响极大,通过调整swap分区大小来提升服务器的性能,节省资源费用 ...