log4j如何配置和使用-创新互联

这篇文章主要介绍了log4j如何配置和使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都做网站、迪庆州网络推广、微信平台小程序开发、迪庆州网络营销、迪庆州企业策划、迪庆州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联公司为所有大学生创业者提供迪庆州建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

 log4j有三个主要的组件,分别是:


    *Logger(记录器):负责按照设定的优先级过滤日志信息,然后转发到存放器
    *Appender(存放器):负责接收并处理记录器转发来的日志信息,通常的处理是输出到屏幕或者存储到磁盘文件

    *Layout(布局器):负责格式化日志信息

上述三者之间的关系:
   一个Logger可以挂接多个Appender(日志信息同时转发到多个设备)
   一个Appender指定一个Layout进行格式化操作

一、定义配置文件log4j.properties
  1.
     log4j.记录器名称=[ 级别 ] , 存放器名称1, 存放器名称2, …
     级别优先级由高到低依次是:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
     log4j建议只使用四个级别,优先级从高到低分别是:ERROR、WARN、INFO、DEBUG
     只有优先级高于或等于设定级别的日志信息被转发,例如,如果定义为INFO,那么在程序中级别为DEBUG的日志信息都不会输出。
     log4j.rootLogger是所有记录器的父对象(原名rootCategory已废弃),可用于设定所有记录器的缺省优先级
     记录器可以继承,如:log4j.myLogger.childLogger=,file
     记录器按名字获得,第一次访问时自动创建(总是存在)


     如果约定每个类都只向其同名记录器输出日志,则在配置文件中可以针对每一个特定类进行日志配置

 2.
     log4j.appender.存放器名称=存放器类名
     目前,log4j实现的存放器类有以下几种:
         org.apache.log4j.ConsoleAppender(控制台)
         org.apache.log4j.FileAppender(文件)
         org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
         org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
         org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
  3.
     log4j.appender.存放器名称.layout=布局器类名
     目前,log4j实现的布局器类有以下几种:
         org.apache.log4j.PatternLayout(log4j的标准布局器,可以灵活地指定布局模式)
         org.apache.log4j.HTMLLayout(以HTML表格形式布局)
         org.apache.log4j.SimpleLayout(包含级别和日志信息的简单字符串)
         org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  4.
     设定布局器选项(主要是设定转换格式)
         log4j.appender.存放器名称.layout.选项名=值

     通常采用log4j的标准布局器:
         log4j.appender.存放器名称.layout=org.apache.log4j.PatternLayout
         log4j.appender.存放器名称.layout.ConversionPattern=格式化参数

     log4j采用类似C语言中printf函数的格式化参数格式化日志信息,参数如下:
         %m 输出代码中指定的信息
         %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
         %r 输出自布局器构造到该时间点所经过的毫秒数
         %c 输出所属的类目,通常就是所在类的全名
         %t 输出产生该日志事件的线程名
         %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
         %d 输出该时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式。如:%d{yyy MMM dd HH:mm:ss,SSS},输出类

似:08 十二月 03 12:04:52,531
         %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。如:Testlog4.main(TestLog4.java:10)
         %F 输出文件名
         %L 输出行号

二、在代码中调用log4j
  1.将log4j的jar包(log4j-1.2.15.jar)导入到工程中。
  2.写配置文件log4j.properties,放在src目录下,系统运行时自动拷贝到bin目录下。


1.<span  >    
   2. import  org.apache.log4j.Logger;  
   3.    ...  
   4.private  static  final  Logger log = Logger.getLogger(类名.class );  
   5. ...  
   6. log.debug( Object message );  
   7. log.info( Object message );  
   8. log.warn( Object message );  
   9. log.error( Object message );  
  10.     
  11.</span>  
  import org.apache.log4j.Logger;
  ...
  private static final Logger log = Logger.getLogger(类名.class);
  ...
  log.debug( Object message );
  log.info( Object message );
  log.warn( Object message );
  log.error( Object message );

三、log4j.properties的例子


  1.< span  style ="font-family: courier new,courier;" >   
   2.# Set root logger priority to INFO and its only appender to CONSOLE.  
   3.log4j.rootLogger =INFO , CONSOLE  
   4.log4j.rootLogger =INFO , CONSOLE, LOGFILE  
   5.  
   6.# Set the enterprise logger category to FATAL and its only appender to CONSOLE.  
   7.log4j.logger.org.apache.axis.enterprise =FATAL , CONSOLE  
   8.    
   9.# CONSOLE is set to be a ConsoleAppender using a PatternLayout.  
  10.log4j.appender.CONSOLE =org .apache.log4j.ConsoleAppender  
  11.log4j.appender.CONSOLE.Threshold =INFO   
  12.log4j.appender.CONSOLE.layout =org .apache.log4j.PatternLayout  
  13.      
  14.# Pattern to output the caller's file name and line number.  
  15.log4j.appender.CONSOLE.layout.ConversionPattern =%5p [%t] (%F:%L) - %m%n  
  16.
  17.# LOGFILE is set to be a File appender using a PatternLayout.  
  18.log4j.appender.LOGFILE =org .apache.log4j.FileAppender  
  19.log4j.appender.LOGFILE.File =axis .log  
  20.log4j.appender.LOGFILE.Append =true   
  21.log4j.appender.LOGFILE.Threshold =INFO   
  22.log4j.appender.LOGFILE.layout =org .apache.log4j.PatternLayout  
  23.log4j.appender.LOGFILE.layout.ConversionPattern =%-4r [%t] %-5p %c %x - %m%n  
  24.</ span >

# Set root logger priority to INFO and its only appender to CONSOLE.
log4j.rootLogger=INFO, CONSOLE
log4j.rootLogger=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
四、常见故障
log4j:WARN Please initialize the log4j system properly.
解决办法:
【eclipse环境】将文件log4j.properties拷贝到src目录下,运行时会自动拷贝到bin目录下。之前可能需要Refresh。


示例:

log4j.rootLogger=INFO, cons, MyAppender
log4j.appender.syslog.encoding=UTF-8
log4j.appender.cons=org.apache.log4j.ConsoleAppender
log4j.appender.cons.layout=org.apache.log4j.SimpleLayout
#日志记录器
log4j.appender.MyAppender=org.apache.log4j.RollingFileAppender
log4j.appender.MyAppender.File=/system.log
#log4j.appender.MyAppender.encoding=UTF-8
log4j.appender.MyAppender.MaxFileSize = 2048KB
log4j.appender.MyAppender.MaxBackupIndex = 20
log4j.appender.MyAppender.layout=org.apache.log4j.PatternLayout
#log4j.appender.MyAppender.layout.ConversionPattern=%d (%F:%L) %-5p --> %m%n
log4j.appender.MyAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n

#信息记录器
log4j.additivity.MsgLogger = false
log4j.logger.MsgLogger=INFO, MsgAppender
log4j.appender.MsgAppender=org.apache.log4j.RollingFileAppender
#log4j.appender.MsgAppender.encoding=UTF-8
log4j.appender.MsgAppender.File=/msg.log
log4j.appender.MsgAppender.MaxFileSize = 2048KB
log4j.appender.MsgAppender.MaxBackupIndex = 20
log4j.appender.MsgAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.MsgAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

#数值记录器
log4j.additivity.CollectValueLogger = false
log4j.logger.CollectValueLogger=INFO, CollectValueAppender
log4j.appender.CollectValueAppender=org.apache.log4j.RollingFileAppender
#log4j.appender.CollectValueAppender.encoding=UTF-8
log4j.appender.CollectValueAppender.File=/value.log
log4j.appender.CollectValueAppender.MaxFileSize = 20480KB
log4j.appender.CollectValueAppender.MaxBackupIndex = 20
log4j.appender.CollectValueAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.CollectValueAppender.layout.ConversionPattern=%m%n

感谢你能够认真阅读完这篇文章,希望小编分享的“log4j如何配置和使用”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

标题名称:log4j如何配置和使用-创新互联
URL分享:https://www.cdcxhl.com/article30/dejjso.html

成都网站建设公司_创新互联,为您提供服务器托管品牌网站制作静态网站全网营销推广小程序开发微信小程序

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设