步骤:

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

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

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

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的位置可以放到其他地方):

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

  4.程序中使用log4j

public class Test {//每个类中加上这个public static Logger logger=Logger.getLogger(Test.class);public static void main(String[] args) {logger.info("小蚊子qq:513996980");logger.info("小王啊哈方法看妇科小王啊哈方法看妇科小王啊哈");logger.error("对方水电费");int a = 10;try{int b = a/0;        }catch(Exception e){//将异常信息打印到日志文件中//logger.error(e.getStackTrace()[0]);//logger.error(e.getMessage());
            logger.error(getTrace(e));}}//封装了异常信息打印的方法public static String getTrace(Throwable t) {StringWriter stringWriter= new StringWriter();PrintWriter writer= new PrintWriter(stringWriter);t.printStackTrace(writer);StringBuffer buffer= stringWriter.getBuffer();return buffer.toString();}
}

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

附注:

log4j的输出级别:

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

转载于:https://www.cnblogs.com/afeng2010/p/10027708.html

[log4j]log4j简单配置相关推荐

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

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

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

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

  3. Log4j的简单配置使用

      Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN.INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  4. Java Log4j日志简单配置

    使用之前,需要导入Log4j jar包 log4j.rootLogger=debug,stdout,DDD,EEE #日志输出 log4j.appender.stdout=org.apache.log ...

  5. log4j简单配置总结

    log4j log4j默认在classpath下查找log4j.properties文件 log4j.rootLogger=[level],appendername,appendername log4 ...

  6. log4j.properties的配置与详细说明

    1. 新建测试项目testLog,并引入jar包. 2. 在src目录下新建log4j.properties文件,然后开始配置文件. log4j.rootLogger=INFO,stdout,debu ...

  7. [Log4j] Log4j 的配置和配置文件加载顺序

    需求:  把log4j.properties 配置问题放置到工程外面的指定文件夹.  具体原因参考http://blog.csdn.net/lihe2008125/article/details/77 ...

  8. log4j的详细配置

    先说下我的需求 1,可以记录日记在我们的java开发项目周期中: 2,很简单即可输出日志: 3,每天按照时间将不同的日志输出到不同的文件中,每天输出日志到一个带有当前时间戳的文件中: 4,可以修改当前 ...

  9. 使用Log4j为项目配置日志输出应用详细总结及示例演示.

    Log4j组件构成 Log4j由三个重要的组件构成: 1.日志信息的优先级(Logger) 2.日志信息的输出目的地(Appender) 3.日志信息的输出格式(Layout). 概要: 日志信息的优 ...

  10. Log4J 1.x 配置详解

    一 Log4J有三个主要的组件 1.1 Loggers(记录类型) Log4j划分了5个级别:DEBUG,INFO,WARN,ERROR,FATAL. 这5个level是有优先级顺序的,DEBUG&l ...

最新文章

  1. 分享十款免费数据恢复软件
  2. gridcontrol值为0时设置为空_XASSET 4.0入门指南
  3. 投影参数_投影仪参数怎么看?没搞懂之前千万不要买
  4. 《数据管理能力成熟度模型》标准宣贯会在上海召开
  5. SqliteHelper整理(转载)
  6. 矩阵特征值的物理意义
  7. android手机连接windows,将Android手机投影到Windows 10 PC [夏昆冈]
  8. nginx安装和配置实例
  9. 从小编程,到架构师,我们应该具备什么
  10. 为什么有的人开车舍不得开空调?车载空调耗油吗?
  11. 【二分匹配】【匈牙利算法即由增广路求最大匹配模板】
  12. 用Python解决简单的水果分类问题(二)
  13. 脚本实现为一系列账号生成随机密码
  14. 2021-09-06146. LRU 缓存机制 哈希表
  15. CSS动画transform、transition和animation的区别
  16. BW文件格式打开工具XnView
  17. web前端 html+css+javascript网页设计实例 家乡网站制作
  18. crx文件怎么打开(谷歌crx文件怎么打开)
  19. Markdown的基本使用
  20. 分布式事务详解【分布式事务的几种解决方案】彻底搞懂分布式事务

热门文章

  1. 织梦使用if判断某个字段是否为空
  2. Android SQLite (二) 基本用法
  3. c#里有遍历目录及子目录以树的形式展现
  4. Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性)
  5. JPA ---- 表之间的映射关系
  6. .Net core下的配置设置(一)——Configuration
  7. vue 常见错的可能原因
  8. XV6陷入,中断和驱动程序
  9. [NOIP10.6模拟赛]2.equation题解--DFS序+线段树
  10. ActiveMQ学习(三)——MQ的通讯模式