Log4j配置详情

Posted 回忆斑斑驳驳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j配置详情相关的知识,希望对你有一定的参考价值。

一、基本配置

// 指定日志级别和输出配置别名,别名可有多个

  log4j.rootLogger  = [ level ] , alis_1, alis_2, …        

//输出方式,表示每天产生一个日志文件

  log4j.appender.alis_1 = org.apache.log4j.DailyRollingFileAppender 

//表示将日志输出到D盘符下面的logger文件夹中

  log4j.appender.alis_1 .File = D:/logger/error.log   

//在文件的后面添加一个日期格式的名字,即生成的日志文件都会在后面有一个日期的名字

  log4j.appender.alis_1 .DatePattern=‘.‘yyyy-MM-dd 

//表示日志是追加的,不是重写的,如果不设置的话,一个log日志中,可能会只出现一条日志记录

  log4j.appender.alis_1 .Append = true    

//设置日志级别    

  log4j.appender.alis_1 .Threshold = ERROR   

//可以灵活的制定布局模式   

  log4j.appender.alis_1 .layout = org.apache.log4j.PatternLayout 

//布局模式,日志以某种格式输出

  log4j.appender.alis_1 .layout.ConversionPattern = %n%d%p[%c]-%m  

//表示最大的日志文件时多少,当超过这个限制的时候,就创建一个新的文件

  log4j.appender.alis_1 .MaxFileSize=  1024KB 

  

#配置日志信息输出目的

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

#配置日志信息的格式

org.apache.log4j.htmlLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

#日记记录的优先级:priority,优先级由高到低分为 

OFF >FATAL >ERROR >WARN >INFO >DEBUG >ALL。
Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息

#输出格式:layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):

%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"com.test.logger.ClassName",%C{2}将输出logger.ClassName)
%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
%n 换行符
%m 输出代码指定信息,如info(“message”),输出message
%p 输出优先级,即 FATAL ,ERROR 等

%r 输出从启动到显示该log信息所耗费的毫秒数

%t 输出产生该日志事件的线程名

二、多文件配置

定义多个logger,在后台记录的时候,根据这个logger获取记录日志源,然后分别取记录到不同的文件中

log4j.rootLogger=INFO,info

log4j.logger.errorlog= ERROR,error

log4j.logger.debug= DEBUG,debug

示例:

 

技术分享图片
 1   
 2   log4j.rootLogger=dealisug, alis  
 3   
 4   log4j.appender.alis = org.apache.log4j.DailyRollingFileAppender
 5   log4j.appender.alis.File = /home/ywyd/log/ywyd_client_error.log 
 6   log4j.appender.alis.DatePattern=‘.‘yyyy-MM-dd
 7   log4j.appender.alis.Append = true
 8   log4j.appender.alis.Threshold = ERROR 
 9   log4j.appender.alis.layout = org.apache.log4j.PatternLayout
10   log4j.appender.alis.layout.ConversionPattern = %n%d%p[%c]-%m
11   log4j.appender.alis.MaxFileSize=  1024Kalis
12    
单文件Log4j配置

 

技术分享图片
  log4j.rootLogger=ERROR, error
  log4j.logger. debuglog = DEBUG, debug
  
  log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
  log4j.appender.error.File = G:/gameoperators/ywyd_gameoperators_error.log
  log4j.appender.error.DatePattern=‘.‘yyyy-MM-dd
  log4j.appender.error.Append = true
  log4j.appender.error.Threshold = ERROR 
  log4j.appender.error.layout = org.apache.log4j.PatternLayout
  log4j.appender.error.layout.ConversionPattern = %n%d%p[%c]-%m
  log4j.appender.rootLogger.MaxFileSize=10240KB

  log4j.appender.debug = org.apache.log4j.DailyRollingFileAppender
  log4j.appender.debug.File = G:/gameoperators/ywyd_gameoperators_debuglog.log
  log4j.appender.debug.DatePattern=‘.‘yyyy-MM-dd
  log4j.appender.debug.Append = true
  log4j.appender.debug.Threshold = INFO 
  log4j.appender.debug.layout = org.apache.log4j.PatternLayout
  log4j.appender.debug.layout.ConversionPattern = %n%d%p[%c]-%m
  log4j.appender.debuglog.MaxFileSize=10240KB  
多文件Log配置

 

 

 


















以上是关于Log4j配置详情的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

log4j2文件配置

log4j配置之后报错如何解决?

Java学习-007-Log4J 日志记录配置文件详解及实例源代码

log4j配置

log4j配置