`

log4j的配置与使用

阅读更多

 

log4j官网地址:http://logging.apache.org/

 

1.log4j的核心介绍

 

Logger:完成日志信息的处理
 可以设置log4j的根级别(主要常用的级别由低到高分别为all,trace,debug,info,warn,error,fatal,off):
 log4j.rootLogger=debug,appender1,appender2
 也可以指定log4j作用的指定包名:
 log4j.logger.xxx.xx(包名)=debug,appender1,appender2

 

Appender:设置日志信息的输出去向,可以指定一个地方或多个地方
 常用的Appender有:
  >org.apache.log4j.ConsoleAppender(输出到控制台)
  >org.apache.log4j.FileAppender(输出到文件)
  >org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  >org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸产生一个新文件)
  >org.apache.log4j.WriterAppender(将日志信息以串流格式发送到任意指定地方)
  >org.apache.log4j.JdbcAppender(将日志信息保存到数据库)

 

Layout:设置日志信息的输出样式
 常用的Layout有:
  >org.apache.log4j.HTMLLayout(以HTML表格输出)
  >org.apache.log4j.SimpleLayout(输出日志讯息级别及讯息字符串)
  >org.apache.log4j.TTCCLayout(输出日志产生时间,执行绪,类别等)
  >org.apache.log4j.PattenLayout(灵活指定布局模式,对样式进行定制,有%p,%r,%t,%f,%c,%d,%n等)
 (%P输出优先级,%r输出应用启动到输出日志所耗毫秒数,%t输出产生该日志线程名,%f输出日志讯息所属类别的类别名,%c输出  

日志讯息所属类全名,%d输出日志时间点,格式为%d{yyyy-MM-dd HH:MM:SS},%n输出换行符号)

 

2.log4j.properties的设置举例:

 

   1).在控制台输出日志讯息

<!--设置log4j的根级别,主要常用的级别由低到高分别为all,trace,debug,info,warn,error,fatal,off-->
 log4j.rootLogger=debug,appender1
 <!--设置日志的输出地点,可以是控制台或者是文件,或者二者一起-->
 log4j.appender.appender1=org.apache.log4j.ConsoleAppdender
 
 <!--设置日志的输出样式-->
 log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout

 
 

 

   2).以HTML文件形式输出日志信息:

  log4j.rootLogger=debug,appender1

 log4j.appender.appender1=org.apache.log4j.FileAppdender

 log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout

 <!--保存在C盘根目录下的mylog4j.html-->
 log4j.appender.appender1.File=c:/mylog4j.html

 

    3).同时在控制台和文件输出日志讯息

 

 <!--设置log4j的根级别,主要常用的级别由低到高分别为all,trace,debug,info,warn,error,fatal,off-->
 log4j.rootLogger=debug,appender1,appender2
 
 <!--控制台输出-->
 log4j.appender.appender1=org.apache.log4j.ConsoleAppdender
 
 <!--文件输出-->
 log4j.appender.appender2=org.apache.log4j.FileAppdender
 log4j.appender.appender2.File=c:/mylog4j.log

 <!--设置日志的输出样式-->
 log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout

 


   4).两个Appender的定制输出样式举例一:

 

 log4j.rootLogger=debug,appender1,appender2

 <!--同时在文件和控制台输出日志讯息-->
 log4j.appender.appender1=org.apache.log4j.FileAppdender
 log4j.appender.appender2=org.apache.log4j.ConsoleAppdender

 <!--保存在C盘根目录下的mylog4j.html-->
 log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
 log4j.appender.appender1.File=c:/mylog4j.html

 <!--设置控制台输出的样式为定制的-->
 log4j.appender.appender2.layout=org.apache.log4j.PatternLayout

 log4j.appender.appender2.layout.ConversionPattern=%r [%t] %p - %c -%l -%m%n

 

    5).两个Appender的定制输出样式举例二:

 log4j.rootLogger=debug,appender1,appender2
 
 <!--第一个appender,使用HTML文件输出,样式为定制-->
 log4j.appender.appender1=org.apache.log4j.FileAppdender
 log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
 log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
 log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
 log4j.appender.appender1.File=c:/mylog4j.html

 <!--第二个appender,使用控制台输出,样式为定制-->
 log4j.appender.appender2=org.apache.log4j.ConsoleAppdender
 log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
 log4j.appender.appender1.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] %m%n

 
  注意:在properties文件中"."后面不能加空格,否则编译出错!

3.测试类举例:
 

public class MyLog4j{
  //Logger 初始化
  private static Logger logger = Logger.getLogger(MyLog4j.class);
  public static void main(String[] args){
   logger.debug("This is debug logging!");
   logger.info("This is info logging!");
   logger.warn("This is warn logging!");
   logger.error("This is error logging!");
 }
}

 

 

 

 
 

 


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics