Log4j日志-配置文件说明

参考:

https://www.cnblogs.com/yudar/p/5113655.html

https://blog.csdn.net/niuma1024/article/details/51362606

一、简介

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。

日志信息的优先级从高到低有FATAL(0)、ERROR(3)、WARN(4)、INFO(6)、DEBUG(7),分别用来指定这条日志信息的重要程度;

日志信息的输出目的地指定了日志将打印到控制台还是文件中;

而输出格式则控制了日志信息的显示内容。

说明: FATAL(0):指定非常严重的错误事件,这可能导致应用程序中止。java不建议使用

log4j的原则:假设设置的级别为q,在记录日志请求时,必须要>=q 的级别日志作用才会生效!

二、示例

xml形式:

properties形式:

 

三、参数说明

1. 打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:

     %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 ) 

例如:

<!-- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFile" fileName="./logs/mams-core-service.log"
             filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">

2. Appender 为日志输出目的地,Log4j提供的appender有以下几种:

 org.apache.log4j.ConsoleAppender(控制台),输出结果到System.out或是System.err。
org.apache.log4j.FileAppender(文件):输出结果到指定文件,同时可以指定输出数据的格式。append=“false”指定不追加到文件末尾。
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),自动追加日志信息到文件中,直至文件达到预定的大小,然后自动重新生成另外一个文件来记录之后的日志。
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

3.布局 layout

log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

猜你喜欢

转载自blog.csdn.net/sinat_36277898/article/details/85755308