log4j.properties文件常用配置

properties文件配置

1. 配置根Logger , 语法为 :

log4j.rootLogger = [ level ] , appenderName , appenderName ……
注意 :

  1. 第七条中虽然罗列了很多级别 , 但log4j推荐只使用四个级别 , 优先级从高到低分别是ERROR ,WARN ,INFO,DEBUG;
  2. appenderName指的是日志输出的地址 , 可以同时指定n个 ;

2 . 配置日志输出的目的地Appender以及每个输出文件的各项属性 , 语法为 :

log4j.appender.appenderName = fully.qualified.name.of.appender.class       /*类的路径*/
log4j.appender.appenderName.option1 = value1                             /*某些具体的值*/

注意 : log4j中提供的appender有以下几种 :

  1. org.apache.log4j.ConsoleAppender(控制台) ;org.apache.log4j.FileAppender(文件) ;
  2. org.apache.log4j.DailyRollingFileAppender(按照一定的频度滚动产生日志记录文件 , 默认每天产生一个文件) ;
  3. org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) ;
  4. org.apache.log4j.WriterAppender(将日志信息以流格式发送到指定的位置) ;

3 . 配置日志信息的格式或者布局layout以及布局的各项属性 , 语法为 :

log4j.appender.appenderName.layout = fully.qualified.name.of.appender.class
log4j.appender.appenderName.layout.option1 = value

注意 : log4j中提供的layout有以下几种 :

  1. org.apache.log4j.HTMLLayout(以HTML表格形式布局) ;
  2. org.apache.log4j.PatternLayout(可以灵活的指定布局模式(自己指定输出的日志的格式) , 但是需要配置layout.ConversionPattern属性) ;
  3. org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) ;
  4. org.apache.log4j.TTCCLayout(包含日志产生的时间 , 线程 , 类别等等信息) ;

控制台选项

指定最低储存什么级别的错误信息

log4j.appender.appenderName.Threshold = error
用法 : rootLogger里配置debug , 然后某个文件专门存储error以及更高级别的错误信息 , 那么就在这个配置这个文件的时候指定Threshold属性为error ;

是否立即输出

log4j.appender.appenderName.ImmediateFlush=true
用法 : 默认值是true , 意味着所有的消息都会被立即输出 , false则是不输出 ;

控制台输出样式

log4j.appender.appenderName.target=System.out
用法 : 默认值为System.out , 输出到控制台 , 还可以取值System.err , 当做错误信息输出 , 输出的信息全部为红色 ;

输出日志的位置

log4j.appender.appenderName.File=../../../../logs/log.appenderName.txt
用法 : 指定日志输出到指定位置 , 用的是相对于配置文件根目录的相对路径 ;

追加或覆盖日志文件

log4j.appender.appenderName.File.Append=true
用法 : 默认值是true , 即将消息追加到指定文件中 , 如果取值为false , 则会覆盖之前的日志内容 ;

日志文件的最大大小

log4j.appender.appenderName.MaxFileSize=20MB
用法 : 后缀可以是KB , MB , GB , 当日志文件的大小到达指定大小后 , 将会自动滚动 , 即将原来的内容移到fileName.1文件中 , 用记事本打开该文件即可看到原来的内容 , 改属性只能在 appender=org.apache.log4j.RollingFileAppender 时使用 ;

产生滚动文件的最大数量

log4j.appender.appenderName.MaxBackupIndex=10
用法 : 指定可以产生滚动文件的最大数量 , 与RollingFileAppender和MaxFileSize属性一起使用 , 当MaxBackupIndex=n的时候 , 最大日志存在数量为n+1 , 即log.txt , log.txt.1 , … , log.txt.n , 当在服务器上运行的时候 , 如果对日志数量没有限制 , 那么随之时间的推移 , 日志文件会越来越多 , 占用的内存也将越来越多 , 直到占满整个盘 ;

规定多久产生一个日志文件

log4j.appender.appenderName.DatePattern='.'yyyy-MM-dd 用法 : 该属性在 log4j.appender.appenderName=org.apache.log4j.DailyRollingFileAppender 时使用 , DailyRollingFileAppender默认的频度是每天产生一个日志记录文件 , 可以在DatePattern属性值中指定其他的频度 , 常用的几个频度如下 :

  1. '.'yyyy-MM : 每月产生一个日志记录文件 ;
  2. '.'yyyy-ww : 每周产生一个日志记录文件 ;
  3. '.'yyyy-MM-dd : 每天产生一个日志记录文件 ;
  4. '.'yyyy-MM-dd-a : 每半天产生一个日志记录文件 ;
  5. '.'yyyy-MM-dd-HH : 每小时产生一个日志记录文件 ;
  6. '.'yyyy-MM-dd-HH-mm : 每分钟产生一个日志记录文件 ;

注意 : 该属性指定值之后 , 将会按照指定的频度来生成日志记录文件 , 假设指定生成一个名为 log.txt 的文件 , 频度指定为每分钟产生一个日志记录文件 , 当达到指定频度后 , 会将log.txt文件中记录的之前的日志记录 , 重新写入一个名为 log.txt.yyyy-MM-dd-HH-mm的文件中 , 而此时 log.txt 文件中存放的是新生成的日志信息 , 该过程循环往复 ;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章