2018-07-20 孙小北

Java日志Log4j配置

养浩然之气,做博学之人

日志主要用来记录系统运行过程中的一些重要的操作信息或运行的错误,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因。

日志根据记录内容的不同分成以下3类:

(1)SQL日志:记录系统执行的SQL语句

(2)异常日志:记录系统运行中发生的异常事件

(3)业务日志:记录系统运行过程,如用户登录,操作记录

在java中,可以使用开源的Log4j来帮助我们记录日志。

一、下载Log4j开发包

(1)下载apache日志规范:(Log4j是日志规范的实现)

网址:http://commons.apache.org/proper/commons-logging/download_logging.cgi

(2)下载Log4j:

Log4j官网:https://logging.apache.org/

下载地址:https://logging.apache.org/log4j/2.x/download.html

或更多版本:http://archive.apache.org/dist/logging/log4j/


Demo使用版本:

http://commons.apache.org/proper/commons-logging/download_logging.cgi

http://archive.apache.org/dist/logging/log4j/1.2.17/

二、创建项目并引入相关jar

Log4j相关包:

commons-logging-1.2.jar

log4j-1.2.17.jar

三、Log4j配置文件:

右击项目src,依次选择”New” →”File”选项,弹出”New File”对话框,输入文件名“log4j.properties”

# Root logger option
log4j.rootLogger=INFO, stdout, file
# Redirect log messages to console
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} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file  ALL
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/demolog.log
log4j.appender.file.MaxFileSize=5MB
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} %-5p %c{1}:%L - %m%n

#  Redirect log messages to a log file  ERROR
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File=${catalina.home}/logs/errorlog.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.appender.CONSOLE.layout.ConversionPattern

 %m   输出代码中指定的消息
  %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
  %r   输出自应用启动到输出该log信息耗费的毫秒数 
  %c   输出所属的类目,通常就是所在类的全名 
  %t   输出产生该日志事件的线程名 
  %n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
  %d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss ,SSS},输出类似:2002年10月18日  22 : 10 : 28 , 921  
  %l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )

log4j.appender.CONSOLE.Encoding=UTF-8是Log代码的编码格式

log4j.appender.FILE.File = ${catalina.base}/....是Log日志的位置所在,${catalina.base}是对应的tomcat实例  一般情况下${catalina.home}为tomcat 的lib/bin目录的父目录,catalina.base指 向每个Tomcat目 录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。



编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=196

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦