步骤:

1.导入jar包:log4j-1.2.17.jar

2.编写log4j配置文件:log4j.properties

  1. ### set log levels - for more verbose logging change 'info' to 'debug' ###
  2. #这里指定了输出info以上级别的信息,并可以输出到控制台stdout,以及file中
  3. log4j.rootLogger=info,stdout,file
  4.  
  5. ### direct log messages to stdout ###
  6. #控制台
  7. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  8. log4j.appender.stdout.Target=System.out
  9. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  10. log4j.appender.stdout.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
  11.  
  12. ### direct messages to file mylog.log ###
  13. #文件 只输出到一个文件中
  14. log4j.appender.logFile=org.apache.log4j.FileAppender
  15. log4j.appender.logFile.File=E:/logs/mylog.txt
  16. log4j.appender.logFile.encoding=UTF-8
  17. log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
  18. log4j.appender.logFile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
  19.  
  20. ### the file overd some size will create a new log file ###
  21. #滚动文件 可以设置文件的大小(超过大小的自动创建新的日志文件来存放),以及文件的个数(文件个数超过后不再重新创建,会将新的内容从第一个文件开始存放)
  22. log4j.appender.file=org.apache.log4j.RollingFileAppender
  23. log4j.appender.file.Append=true
  24. log4j.appender.file.File=E:/logs/log.txt
  25. log4j.appender.file.encoding=UTF-8
  26. log4j.appender.file.MaxFileSize=10MB
  27. log4j.appender.file.MaxBackupIndex=10
  28. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  29. log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
  30.  
  31. ### error information ###
  32. #文件 只输出error信息到此文件
  33. log4j.appender.errorfile=org.apache.log4j.FileAppender
  34. log4j.appender.errorfile.File=E:/logs/errlog.txt
  35. log4j.appender.errorfile.Threshold=ERROR
  36. log4j.appender.errorfile.Append=false
  37. log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
  38. log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy/MM/dd HH\:mm\:ss,SSS} %5p %c{1}\:%L - %m%n
  1.  

log4j.rootLogger=info,stdout,file   的语法为:

log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
     level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
     appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
     例如:log4j.rootLogger=info,A1,B2,C3 配置了3个输出地方,这个名字可以任意(如上面的stdout,file),但必须与我们在后面进行的设置名字对应;
 

3.在web.xml中配置log4j
  如果直接将log4j.properties文件放在src路径下,那么就不需要在web.xml文件配置相关信息了,项目会自动加载的

  反之就需要配置(利用spring的监听器来加载,此时log4j.properties的位置可以放到其他地方):

  1. <!-- 在ssh中,可以使用spring的监听器来来加载 -->
  2. <context-param>
  3. <param-name>log4jConfigLocation</param-name>
  4. <param-value>classpath:config/log4j.properties</param-value>
  5. </context-param>
  6. <!-- 使用spring的监听器,当应用启动时来读取log4j的配置文件 -->
  7. <listener>
  8. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  9. </listener>

  4.程序中使用log4j

  1. public class Test {
  2. //每个类中加上这个
  3. public static Logger logger=Logger.getLogger(Test.class);
  4. public static void main(String[] args) {
  5. logger.info("小蚊子qq:513996980");
  6. logger.info("小王啊哈方法看妇科小王啊哈方法看妇科小王啊哈");
  7. logger.error("对方水电费");
  8. int a = 10;
  9. try{
  10. int b = a/0;
  11. }catch(Exception e){
  12. //将异常信息打印到日志文件中
  13. //logger.error(e.getStackTrace()[0]);
  14. //logger.error(e.getMessage());
  15. logger.error(getTrace(e));
  16. }
  17.  
  18. }
  19.  
  20. //封装了异常信息打印的方法
  21. public static String getTrace(Throwable t) {
  22. StringWriter stringWriter= new StringWriter();
  23. PrintWriter writer= new PrintWriter(stringWriter);
  24. t.printStackTrace(writer);
  25. StringBuffer buffer= stringWriter.getBuffer();
  26. return buffer.toString();
  27. }
  28. }

运行之后,就可以看到控制台 以及你的日志文件中 会有相关的打印信息啦。。。。。

附注:

log4j的输出级别:

1 FATAL 0
2 ERROR 3
3 WARN 4
4 INFO 6
5 DEBUG 7

[log4j]log4j简单配置的更多相关文章

  1. log4j.xml简单配置实现在控制台打印sql执行语句【加注释】

    转: log4j.xml简单配置实现在控制台打印sql执行语句 2017年09月27日 13:02:34 艾然丶 阅读数 8804   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协 ...

  2. (转)log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  3. (转)log4j(七)——log4j.xml简单配置样例说明

    背景:在公司中警察需要做技术支持,查看日志,而查看日志首先要自己清楚日志是如何生成的,所以有必要知道日志的前世今生! 转载出处:http://www.cnblogs.com/godtrue/p/644 ...

  4. log4j(七)——log4j.xml简单配置样例说明

    一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下 ...

  5. log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  6. Log4j简单配置

    Log4j是一组强大的日志组件,在项目中时常需要用它提供一些信息,这两天学习了一下它的简单配置. 第一步,我们需要导入log4j-1.2.14.jar到lib目录下 第二步,在src下建立log4j. ...

  7. log4j的简单应用(转载)

    当程序有错误时,我们就需要找出错误的地方并进行验证,怎样才能准确快速的找到出错的地方呢,那就是在程序运行时在控制台上输出相关的信息,从而可以判断程序的运行顺序以及出错的位置.以前总是习惯使用Syste ...

  8. log4j的基本配置参数

    转载:http://blog.csdn.net/fengyifei11228/article/details/6070006 log4j配置文件有三个主要的组件:Logger,Appender和Lay ...

  9. log4j使用和配置详解

    日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录.以下是个人经验,具体请参考Log4j文档指南. Log4j下载 在apache网站:htt ...

  10. Log4j – Configuring Log4j 2 - Log4j 2的配置

    Configuration Inserting log requests into the application code requires a fair amount of planning an ...

随机推荐

  1. Hadoop_08_客户端向HDFS读写(上传)数据流程

    1.HDFS的工作机制: HDFS集群分为两大角色:NameNode.DataNode (Secondary Namenode) NameNode负责管理整个文件系统的元数据 DataNode 负责管 ...

  2. LNMP安装与配置之CentOS7的安装。

    LNMP与LAMP是我们常见的两种网站服务器架构.LNMP代表的就是Linux系统下Nginx+MySQL+PHP/Python,LAMP代表的则是Linux系统下Apache+MySQL+PHP/P ...

  3. NOIP2016 Day1 T2 天天爱跑步(树上差分,LCA)

    原文链接 原题链接 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏 ...

  4. TF_RNNCell

    参考:链接. RNNCell BasicRNNCell GRUCell BasicLSTMCell LSTMCell MultiRNNCell 抽象类RNNCell 所有的rnncell均继承于RNN ...

  5. 06-char,varchar和nvarchar三者的区别

    总结: 1.首先先知道一下SQLServer中数据存储的基本单位是页.每页的大小是8KB: 2.char(n),里面的n用于定义字符串长度,以字节为单位: 3.三者的区别 * char: 是定长的,比 ...

  6. nginx第七天

    nginx的proxy_buffering和proxy_cache 两个都是nginx代理中内存设置相关的参数. proxy_buffering设置 proxy_buffering主要是实现被代理服务 ...

  7. SiteMesh的简单使用

    简介: SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. 它能通过创建一个包装对象,也就是装饰来包裹的对象.尽管它是由Java语言来实现的, ...

  8. 什么是favicon.ico?

    ㈠定义 ⑴所谓favicon,即Favorites Icon的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站. ⑵根据浏览器的不同,Favicon显示也有 ...

  9. 移动端布局Rem

    一.最好用没有之一 http://www.jianshu.com/p/b00cd3506782 虽然博主说这个方案已经过期了 但是新方案还没有理解 就接着沿用这个 可以根据自己常用的设计稿的宽度修改 ...

  10. 20190716NOIP模拟赛T2 通讯(tarjan缩点+贪心)

    题目描述 “这一切都是命运石之门的选择.” 试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短 信,并由此得知了伦太郎制作出了电话微波炉(仮). 为了掌握时间机器的技术,SERN总部 ...