log4j

                             log4j

log4j的简介

Log4j:(Log for java)

       1.是使用Java语言编写的一个日志框架

       2.是Apache的一个开源项目

       3.记录我们程序中的日志信息

       4.可以将日志信息输出到我们指定的目的地

.log(日志文件)

log4j的作用:

       1.记录代码中变量的变化,用于程序的调试和后期维护

       2.可以周期性的保存一些数据,用于后期对数据的分析

       3.通过设置日志信息的级别,来便于我们的管理

log4j的组成

       1.日志的记录器  

              日志的输出级别

                 OFF 级别最高,用于关闭所有的日志输出

                  ALL  级别最低,用于开启所有的日志输出

                 Fatal   严重的错误事件,将导致我们的程序终止

                 Error   错误事件,不会影响我们程序的继续执行

                 Warn  可能存在潜在的错误场景

                 Info    指的是粗粒度级别上的使用

                 Debug  指的是细粒度级别上的使用

                 Trace   比Debug还要细的

                

              开发环境(开发阶段):使用的日志级别比较低 Debug

             生产环境(项目上线):建立把Debug细粒度的设置warn

       2.日志的输出格式(Layout)

         %p   日志信息的优先级

         %d   日志信息的输出时间 %d(yyy-mm-dd hh:mm:ss)

         %c    日志信息的输出类

         %1    日志信息的输出位置:类+线+行号

         %M    日志信息的输出 所在方法

         %m    日志信息的输出内容

         %n    输入日志信息之后换行

         %t     日志信息的输出 所在线程

         %r     从程序启动到输出日志信息所经历的时间(毫秒)

       3.日志的输出目的地(Appender)

       01.把我们的日志信息输出到某个地址

       02.可以同指定多个输出地

       03.一个输出地就对应一个Appender

Log4j的使用

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。

配置文件

Log4J配置文件的基本格式如下:

1.#配置根Logger

      1.log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …

2.#配置日志信息输出目的地Appender

1.log4j.appender.appenderName  =  fully.qualified.name.of.appender.class

2.log4j.appender.appenderName.option1  =  value1

3. log4j.appender.appenderName.optionN  =  valueN

3.#配置日志信息的格式(布局)

1..log4j.appender.appenderName.layout  =  fully.qualified.name.of.layout.class

2..log4j.appender.appenderName.layout.option1  =  value1

3.. log4j.appender.appenderName.layout.optionN  =  valueN 

其中[level] 是日志输出级别,共有5级:

1.FATAL:级别         0 

2.ERROR :级别      3 

3.WARN:级别         4 

4.INFO:级别           6 

5.DEBUG :级别      7

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

1.org.apache.log4j.ConsoleAppender(控制台),

2.org.apache.log4j.FileAppender(文件),

3org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

4.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

5.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

Layout:日志输出格式,Log4j提供的layout有以下几种:

1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),

2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

#把日志输出到文件中
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#指定额度
log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
#指定输出文件的位置 第一次生成的文件名称
log4j.appender.file.File=e:/log/log4j.log
log4j.appender.file.Layout=org.apache.log4j.PatternLayout
log4j.appender.file.Layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %l %m %n
#指定日志输出的目的地    控制台>>>ConsoleAppender
#怎么实例化这个对象
log4j.appender.console=org.apache.log4j.ConsoleAppender
#console.target=System.out/err   对象名.属性名
log4j.appender.console.Target=System.out
#console.layout=new PatternLayout(); 创建输出格式对象
log4j.appender.console.Layout=org.apache.log4j.PatternLayout
#console.layout.ConversionPatten=%d{yyyy-mm-dd hh:mm:ss} %l %m %n指定输出格式
log4j.appender.console.Layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}%l %m %n
#指定日志输入的级别 error warn info debug trace
#log4j.rootLogger=debug,console
#指定包下面的输出
log4j.logger.cn.haha=warn,console

  

#002.将信息输出到文件中,按文件大小创建
log4j.appender.file2=org.apache.log4j.RollingFileAppender
#指定输出文件的位置
log4j.appender.file2.File=e:/logs/log4j.log
#每个文件的最大容量
log4j.appender.file2.MaxFileSize=1kb
#如果超过了大小,默认产生的额外文件的数量
log4j.appender.file2.MaxBackupIndex=3
#设置内容满了之后是否覆盖之前内容
log4j.appender.file2.Append=true
log4j.appender.file2.Layout=org.apache.log4j.PatternLayout
log4j.appender.file2.Layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %c %l %m %n


#指定日志输入级别 error warn info debug trace
#log4j.rootLogger=warn,console
#指定包下的日志 输出
log4j.logger.cn.fkx=debug,console,file,file2

  

原文地址:https://www.cnblogs.com/fkx1/p/9257078.html