第一步:在web.xml初始化log4j<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param>    <listener>        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    </listener>

配合org.springframework.web.util.Log4jConfigListener来设置spring环境下的Log4j。

第二步:在上面的配置中,使用了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

SSH集成log4j日志环境相关推荐

  1. Hibernate4.3.1搭建Log4J日志环境

    导语:原项目中使用了log4j-1.2.8.jar,在 引入hibernate包后,提示报错,在构建路径中将log4j-1.2.8.jar删除后正常.但记录日志还需要用到log4j,以下方法可解决上述 ...

  2. spring、springboot集成 log4j日志、log4j2日志以及slf4j

    1.查看pringboot自带的日志框架 新建一个springboot 工程,查看依赖树 通过查看依赖树可以发现,springboot自带被loggong管理的log4j .logback等日志相关的 ...

  3. java常用日志框架日志门面及实现 SLF4J 、Jboss-logging 、JCL、Log4j、Logback、Log4j2、JUL,springboot集成 log4j、log4j2

    java常用日志框架日志门面SLF4J .Jboss-logging .JCL.Log4j及实现 Logback.Log4j2.JUL,springboot集成 log4j.log4j2 .logba ...

  4. 【ELK】ELK菜鸟手记 (一) 环境配置+log4j日志记录——转自Master HaKu

    感谢Master HaKu的分享,博客园的账号忘了,文章里面有原文链接,尊重原创 ELK菜鸟手记 (一) 环境配置+log4j日志记录 - Master HaKu - 博客园 Master HaKu ...

  5. Log4j日志输出详细

    日志论 在应用程序中输出日志有有三个目的: (1 )监视代码中变量的变化情况,把数据周期性地记录到文件中供其他应用进行统计分析工作. (2 )跟踪代码运行进轨迹,作为日后审计的依据. (3 )担当集成 ...

  6. Jenkins持续集成学习-Windows环境进行.Net开发4

    目录 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 前言 目标 Github持续集成 提交代码到Github 从Github更新代码 git上显示构建状态 自动触发构建 Gi ...

  7. Spring MVC集成Log4j

    以下示例显示如何使用Spring Web MVC框架集成LOG4J.首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一 ...

  8. linux日志文件存放目录,Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    log4j1/log4j2中category的配置以及log的输出位置(windows和linux通用的log输出位置) 一.场景和需求 假设我现在有3个独立的用project(暂时用maven关联起 ...

  9. Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题

    转载自   Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题 使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论 ...

最新文章

  1. 好爽!我在上海被机器人“马杀鸡”了
  2. 【机器学习基础】支持向量机超参数的可视化解释
  3. 深入理解Kafka(3)-Consumer
  4. 大剑无锋之一句话输出表中每一个同学的成绩最高的课程【面试推荐】
  5. 论数据集成技术的演变和发展 3/3
  6. python变量 数据类型 列表 元组 字典
  7. c ++类成员函数_C ++编程中的数据成员和成员函数
  8. antlr4做一个计算器
  9. Gtk与Cuda混合编程
  10. 第11章 樱花树(《C和C++游戏趣味编程》配套教学视频)
  11. ASP.NET控件and代码实现二级联动查询
  12. Redis 和 memcached 区别(二)
  13. (六)ModelSim 下载安装以及crack的注册
  14. php做网站需要的技术,建网站需要什么技术
  15. linux驱动request_threaded_irq()
  16. 嵌入式开发笔记——调试组件SEGGER_RTT
  17. 实现带头结点单链表的就地逆置问题。
  18. ICA简介:独立成分分析
  19. MySQL:记录一个多对多小查询
  20. 无域控AlwaysOn实战教学 (一)

热门文章

  1. 计算机学院信息系统,信息系统
  2. android微信预览pdf,网页的pdf、office链接安卓版面微信浏览器无法打开
  3. Windows小工具广告弹窗杀手+源码
  4. 简约响应式导航主题VIK_WordPress模板
  5. 怎样修改WIN7下的host文件
  6. Linux DVD 转 MP4 – HandBrake – Copy a DVD to MP4 or MKV file
  7. 纯CSS打造的Family tree(族谱)
  8. LInux:有关I/O重定向的详细教程
  9. 简单的无限分级类 category, menus, jquery tree view
  10. Flex 中 12 个简单实用的小技巧