1. 加入log4j和slf4j的jar包

2. web.xml:

  1. <context-param>
  2. <!--log4j配置地址 -->
  3. <param-name>log4jConfigLocation</param-name>
  4. <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> -->
  5. <param-value>classpath:log4j.properties</param-value>
  6. </context-param>
  7. <context-param>
  8. <!-- log4j 配置扫描刷新间隔 可以不用 -->
  9. <param-name>log4jRefreshInterval</param-name>
  10. <param-value>10000</param-value>
  11. </context-param>
  12. <!-- spring里的log4j配置监听器 -->
  13. <listener>
  14. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  15. </listener>

3. src/log4j.properties:

  1. ### set log levels ###
  2. log4j.rootLogger = debug,stdout,D,E
  3. ### 输出到控制台 ###
  4. log4j.appender.stdout = org.apache.log4j.ConsoleAppender
  5. log4j.appender.stdout.Target = System.out
  6. log4j.appender.stdout.Threshold = INFO
  7. log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
  8. log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n
  9. log4j.appender.stdout.Encoding=UTF-8
  10. ### 输出到日志文件 ###
  11. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
  12. log4j.appender.D.File = ${ssh}WEB-INF/logs/debug.log
  13. log4j.appender.D.file.MaxFileSize=500KB
  14. log4j.appender.D.Append = true
  15. ##输出DEBUG级别以上的日志
  16. log4j.appender.D.Threshold = DEBUG
  17. log4j.appender.D.layout = org.apache.log4j.PatternLayout
  18. log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
  19. log4j.appender.D.Encoding=UTF-8
  20. ### 保存异常信息到单独文件 ###
  21. log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
  22. ## 异常日志文件名
  23. log4j.appender.E.File = ${ssh}WEB-INF/logs/error.log
  24. log4j.appender.E.file.MaxFileSize=500KB
  25. log4j.appender.E.Append = true
  26. ## 只输出ERROR级别以上的日志!!!
  27. log4j.appender.E.Threshold = ERROR
  28. log4j.appender.E.layout = org.apache.log4j.PatternLayout
  29. log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
  30. log4j.appender.E.Encoding=UTF-8

配置info级输出到控制台,debug和error 都输出到对应文件中。

4. 使用log对象

    1. import org.slf4j.Logger;
    2. import org.slf4j.LoggerFactory;
    3. import com.stone.action.DefaultAction;
    4. public class LogUtil {
    5. //使用slf4j创建日志对象,好处时,以后更换为其它日志工具时,只要修改配置文件,不用修改代码
    6. private static Logger logger = LoggerFactory.getLogger(LogUtil.class);
    7. //使用log4j创建日志对象
    8. //  private org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(getClass());
    9. public static void error(String message) {
    10. logger.error(message);
    11. }
    12. public static void debug(String message) {
    13. logger.debug(message);
    14. }
    15. public static void info(String message) {
    16. logger.info(message);
    17. //      org.apache.log4j.Logger.getLogger(LogUtil.class).info(message);
    18. }
    19. }

JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]的更多相关文章

  1. ssh 框架整合试例 (spring+struts2+hibernate)

    1.首先用Eclipse创建一个web项目(Eclipse EE 版) new->Other-> 输入web 然后选择Dynamic Web Project->next-> 输 ...

  2. JavaEE SSH框架整合(三) struts2 异常、http错误状态码处理

    struts2的action可能出现訪问不到,或action报异常等情况,所以须要作一些处理,给用户一个友好的印象. 1. 异常处理  result声明在action中 <action name ...

  3. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

  4. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  5. SSH框架整合过程总结

    ---------------------siwuxie095                                 SSH 框架整合过程总结         (一)导入相关 jar 包(共 ...

  6. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  7. ssh框架整合之登录以及增删改查

    1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...

  8. SSH 框架整合总结

    1. 搭建Struts2 环境 创建 struts2 的配置文件: struts.xml; 在 web.xml 中配置 struts2 的核心过滤器; // struts.xml <?xml v ...

  9. SSH框架整合的其它方式

    --------------------siwuxie095 SSH 框架整合的其它方式 1.主要是整合 Spring 框架和 Hibernate 框架时,可以不写 Hibernate 核心配置文件: ...

随机推荐

  1. SGU 455 Sequence analysis(Cycle detection,floyd判圈算法)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=455 Due to the slow 'mod' and 'div' operati ...

  2. 使用plsql执行计划进行sql调优(转载)

    一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在. 那么,作为开 ...

  3. windows环境下Django安装配置

    --python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...

  4. 浙江理工2015.12校赛-B 七龙珠

    七龙珠 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 781 Solved: 329 Description 话说孙壕请吃了青岛大虾后,一下子变穷了,就 ...

  5. mysql删除带有NULL的行

    假如表A有一列,名字为“Age”,有些行对应的Age为NULL,如果要删除这些行,使用一下语句: delete from A where Age is null;

  6. python 学习笔记八 进程和线程 (进阶篇)

    什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执 ...

  7. nRF52系列来袭,Nordic的低功耗蓝牙方案大有可为

      坐落在北欧的挪威不像他的邻居芬兰那样,可以先后依靠NOKIA和愤怒的小鸟在世界科技界享有盛名.在一般人看来,挪威除了一个逐渐式微的Opera浏览器以外,并没有更多拿得出手的科技企业.而事实证明这只 ...

  8. mongodb中的副本集搭建实践

    准备运行1个主节点,2个从节点,从节点中其中是一个是仲裁节点(Arb). --oplogSize --oplogSize --oplogSize 其中application是副本集的名称,节点必须相同 ...

  9. jq 移除包含某个字符串的类名js

    el.removeClass (function (index, css) { return (css.match (/(^|\s)star\S+/g) || []).join(' ');//移除以“ ...

  10. Unquotted string '"2016-07-19"'

    自己挖的坑,含泪跳进去也要填平.   ---题记 1.问题: a. 在前端使用JSON.stringify(json)转化数组对象为字符串,然后传给后台: var dateArray = new Ar ...