举个简单的例子说一下java日志文件的配置信息

举个例子,日志文件的配置是这个样得,如下:

1.log4j.logger.interface= INFO,interface
2.log4j.appender.interface= org.apache.log4j.DailyRollingFileAppender
3.log4j.appender.interface.File= logs/interface/interface.log
4.log4j.appender.interface.DatePattern = '.'yyyy-MM-dd 
5.log4j.appender.interface.layout= org.apache.log4j.PatternLayout
6.log4j.appender.interface.layout.ConversionPattern= %d{yyyy-MM-dd HH:mm:ss.SSS}|%p|%c:%l|%m%n
7. #log4j.appender.interface.MaxFileSize=10240KB
8.log4j.appender.interface.Encoding= UTF-8 
9. #log4j.appender.interface.MaxBackupIndex=10


解析一下上面得日志:


第一行:日志的等级为info,一个interface的日志,格式就是如下:
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
log4j.rootLogger = 日志级别,输出位置1,输出位置2...( 有时候会看到stdout,stdout是控制台输出)


第二行:每天产生一个日志文件,格式如下:
log4j.appender.appenderName = className
这里是设置输出的目的地,是控制台?文件?你自己设置,有5种可以选
(1) org.apache.log4j.ConsoleAppender控制台
(2) org.apache.log4j.FileAppender文件
(3)o rg.apache.log4j.DailyRollingFileAppender每天产生一个日志文件
(4) org.apache.log4j.RollingFileAppender文件大小到达指定尺寸的时候产生一个新的文件
(5) org.apache.log4j.WriterAppender将日志信息以流格式发送到任意指定的地方


第三行:日志存放的位置和日志的名称


第四行:滚动日志文件,也就是多久产生一个新的文件
可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和
minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选
项的有效值为:
'.'yyyy-MM,对应monthly( 每月)
'.'yyyy-ww,对应weekly( 每周)
'.'yyyy-MM-dd,对应daily( 每天)
'.'yyyy-MM-dd-a,对应half-daily( 每半天)
'.'yyyy-MM-dd-HH,对应hourly( 每小时)
'.'yyyy-MM-dd-HH-mm,对应minutely( 每分钟)


第五行:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout以HTML表格形式布局),
org.apache.log4j.PatternLayout可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout包含日志产生的时间、线程、类别等等信息


第六行:日志指定布局输出的日志格式,打印格式格式化日志信息,如下:

       %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   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


第七行: 注释掉了,是一个文件的大小,超过了重新创建一个


第八行:日志文件的编码格式是哪一种


第九行: 注释掉了,是最多有多少个日志文件,不要和第七行混了




牢记:
1.Log4j有三个主要的组件: Loggers(记录器),Appenders (输出源)和Layouts(布局)
这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这
三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和
位置。
Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这
五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条
日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设
定级别的日志信息


2、配置日志信息输出目的地(appender):
appenderName:自定义appderName,在log4j.rootLogger设置中使用;
className:有如下5种:
(1)org.apache.log4j.ConsoleAppender(控制台)
(2)org.apache.log4j.FileAppender(文件)
(3)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
(4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
(5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


3、配置日志信息的输出格式(Layout):
log4j.appender.appenderName.layout=className
className:可设值如下:
(1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)
(2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
(3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值