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

  1. <context-param>
  2. <param-name>log4jConfigLocation</param-name>
  3. <param-value>/WEB-INF/classes/log4j.properties</param-value>
  4. </context-param>
  5. <context-param>
  6. <param-name>log4jRefreshInterval</param-name>
  7. <param-value>6000</param-value>
  8. </context-param>
  9. <listener>
  10. <listener-class>
  11. org.springframework.web.util.Log4jConfigListener
  12. </listener-class>
  13. </listener>

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

  1. log4j.rootLogger=ERROR,consol
  2. log4j.logger.jmccLogger=ERROR,html
  3. log4j.appender.console=org.apache.log4j.ConsoleAppender
  4. log4j.appender.console.layout=org.apache.log4j.SimpleLayout
  5. log4j.appender.html=org.apache.log4j.RollingFileAppender
  6. log4j.appender.html.maxFileSize=1KB
  7. log4j.appender.html.maxBackupIndex=2
  8. log4j.appender.html.file=${webapp.root}/WEB-INF/log/ex.html
  9. log4j.appender.html.layout=org.apache.log4j.HTMLLayout
  10. 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对象

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

SSH集成log4j日志环境[转]的更多相关文章

  1. SSH集成log4j日志环境

    第一步:在web.xml初始化log4j <context-param> <param-name>contextConfigLocation</param-name> ...

  2. Hibernate4.3.5搭建Log4j日志环境

    本文记录Hibernate4.3.5搭建Log4j日志环境的过程 1.搞清楚Hibernate4.3.5的日志环境依赖 方法:查看帮助文档 3.5. Logging Important Complet ...

  3. Hibernate学习之——搭建log4j日志环境

    昨天讲了Hibernate开发环境的搭建以及实现一个Hibernate的基础示例,但是你会发现运行输出只有sql语句,很多输出信息都看不见.这是因为用到的是slf4j-nop-1.6.1.jar的实现 ...

  4. eclipse搭建Log4J日志环境

    在hibernate使用的日志标准都为slf,slf可以看作为它的接口,因此需要找到它的实例,为我们做日志.我们选择使用log4j为实例. 1. 为防止冲突,先将slf4j-nop的jar包(它也是s ...

  5. Spring集成log4j日志管理

    原文地址:http://blog.csdn.net/naruto1021/article/details/7969535 在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理. ...

  6. hibernate3.3.2搭建log4j日志环境

    日志的框架有很多,hibernate3.3.2用的是slf4j,slf4j简单理解为一个接口,标准.具体的实现可以是不同的实现(如slf4j自己的实现,log4j等).slf就像JDBC,JPA.自己 ...

  7. Hibernate配置log4j日志环境

    1.准备所需的jar 说明:具体所使用的jar包的版本与你所使用的Hibernate版本有关,我用的是(hibernate-release-4.3.11.Final) <1>准备slf4j ...

  8. java环境log4j日志环境的配置。

    首先需要4个jar包.下载地址如下 http://pan.baidu.com/s/1i4k3fiH 期中包含如下包,放到工程的lib中即可.     除此之外还需要一个配置文件,分享链接如下. htt ...

  9. Hibernate 再接触 基础配置 搭建Log4j环境 Junit日志环境等

    <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.aut ...

随机推荐

  1. Ubuntu 安装BCM 43142无线网卡驱动

    ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...

  2. python windows安装

    一.下载并安装 下载地址http://www.python.org/download/ 安装 二.配置环境变量 配置python环境变量以便后面安装插件.D:\Program Files\Python ...

  3. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  4. wex5 教程 之 图文讲解 后台管理界面设计与技巧

    视频教程地址:http://v.youku.com/v_show/id_XMTgwOTAyMTkyMA==.html?from=s1.8-1-1.2&spm=a2h0k.8191407.0.0 ...

  5. Win10系统Start Menu上的图标莫名消失

    今天在工作过程中,突然有测试的同事给我报来一个问题.她是这么描述的“执行完XXX工具之后,在Start Menu找不到图标了.” 针对问题本身: 1,是执行完XXXX工具之后? 2,Start Men ...

  6. 预编译命令 #if DEBUG

    在控制台程序根据预编译命令: http://www.askapache.com/windows/advanced-batch-scripting.html namespace SXGYCarTrans ...

  7. mysql 一些基础的语法和命令

    语法: SELECT 属性列表       FROM 表名或视图名       [ WHERE 条件表达式1 ]       [ GROUP BY 属性名1 [ HAVING 条件表达式2 ] [ W ...

  8. 删除DSO Change Log表数据

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 试用VSCode

    VSCode是代码编辑器,不是IDE. 优点: 1.内置ES6代码高亮和提示,语法验证 2.除了支持到变量定义处Go to definition,还支持弹框显示变量定义出peek definition ...

  10. AngularJS 特性—SinglePage、template、Controller

    单页Web应用(SinglePage) 顾名思义,只使用一个页面的Web应用程序.单页面应用是指用户通过浏览器加载独立的HTML页面,Ajax加载数据页面无刷新,实现操作各种操作. 模板(templa ...