log4j常用总结

 

log4j  级别:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF

log4j.rootLogger=[level],自定义名字1,自定义名字2,...

LOG4J配置文件
#log4j.rootCategory=DEBUG, CONSOLE,DE,ERR
log4j.rootLogger=DEBUG, CONSOLE,DE,ERR

*rootCategory为旧类,rootLogger为新类(建议新类),使用方法基本相同
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender//设置输出的目的地,此时为控制台
#log4j.appender.CONSOLE.Threshold=ERR//Threshold 的优先级大于rootLogger,若设置 CONSOLE(自定义的名字,则输出的最低级别ERR;若不写,则以RootLogger设置为标准
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%p--%m%n


log4j.appender.DE=org.apache.log4j.FileAppender  //设置输出的目的地
log4j.appender.DE.File=info.log //设置文件位置 默认在当前项目下
log4j.appender.DE.Append=false//设置是否追加,false为不追加,会先清空上次数据,再写新数据;true为追加,会在原有数据后追加新数据;
log4j.appender.DE.Threshold=INFO//设置可输入到文件的最低级别,该级别及该级别以上都会将数据输入到文件;此时debug无法输入此文件,info,warn,error均会输入此文件
log4j.appender.DE.layout=org.apache.log4j.PatternLayout//设置输出显示样式
log4j.appender.DE.layout.ConversionPattern=%m%n//设置输出的内容(常见内容的释义在末尾,%m文本消息,%n 换行)

log4j.appender.ERR=org.apache.log4j.FileAppender
log4j.appender.ERR.File=err.log
log4j.appender.ERR.Append=false
log4j.appender.ERR.Threshold=ERROR
log4j.appender.ERR.layout=org.apache.log4j.PatternLayout
log4j.appender.ERR.layout.ConversionPattern=%p-%m%n

测试log4j的步骤,(此时在main方法使用)

使用方法,

一、创建Logger类的对象:

方法1.

Logger logger=Logger.getLogger("log4j的路径");

方法2

Logger logger=Logger.gerLogger(Thread.currentThread().getClass());

方法3

Logger  logger=Logger.getRootLogger();

PropertyConfigurator.configure("log4j的路径");

二、调用相应方法

logger.debug(“message-->debug”);

logger.info(“message-->dinfo”);

logger.warn(“message-->warn”);

logger.error(“message-->error”);

 

将不同日志输入到不同文件

log4j.logger.com.test.sxdx=debug,INFO

log4j.appender.INFO=com.test.log4j.Fiapp(自定义的输出目的地,全限定类名),优点:只输入文件的指定级别,需要重写(新建一个类并且继承FileAppender)
log4j.appender.INFO.File=err.log
log4j.appender.INFO.Append=false
log4j.appender.INFO.Threshold=INFO//设置可输入到文件的最低级别,重写后,只将该级别的数据输入到文件;即只将info级别的数据保存到文件
log4j.appender.INFO.layout=org.apache.log4j.PatternLayout
log4j.appender.INFO.layout.ConversionPattern=%p-%m%n

 

在包名:com.test.log4j新建一个java类Fiapp

public class Fiapp extends FileAppender {
      @Override  
         public boolean isAsSevereAsThreshold(Priority priority) {  
             return this.getThreshold().equals(priority);  
         }

}

使用方法,

一、创建Logger类的对象:

方法1.

Logger logger=Logger.getLogger("com.test.sxdx");

logger.info("info");

logger.error("error");

文件只保存info级别的消息

 %d : 显示日志记录时间 , 默认时间格式为ISO8601定义的日期格式 ;

            %d{yyyy-MM-dd HH:mm:ss} : 按照指定的时间格式显示日期 ;

    . %d{ABSOLUTE} : 22:15:30,076 ;

            %d{DATE} : 12 Oct 2018 22:15:30,076 ;

            %d{ISO8601} : 2018-07-20 22:23:30,076 ;

   . %F : 显示调用logger的源文件名 , 例如 : Test.java ;

      . %l : 输出日志事件的发生位置 , 包括类目名 , 发生的线程 , 以及在代码中的行数

      : %m : 显示输出消息 ;

     . %M : 显示调用logger的方法名 ;

 . %n : 换行符 ;

   : %p : 显示该条目的优先级 ; 

. %r : 显示从程序启动时到记录该条日志时已经经过的时间 , 单位毫秒 ;

      . %t : 显示产生该日志条目的线程名 ;

    %% : 显示一个百分号 


版权声明:本文为weixin_42486734原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。