一、log4j常用布局

#log4j的配置文件
 #配置根日志
 #格式:log4j.rootLogger=级别,输出源1,输出源2......  
 log4j.rootLogger=INFO,FILE1,FILE2,FILE3
 #配置输出源所对应的辅助类
 #格式:log4j.appender.输出源=类名<类名可以不同形式>
 log4j.appender.FILE1=org.apache.log4j.FileAppender
 #指定文件名
 log4j.appender.FILE1.File=e:/1.log
 #指定布局方式(消息翻个如文件之后怎么布局)
 log4j.appender.FILE1.layout=org.apache.log4j.SimpleLayout
 #高级日志配置1
 log4j.appender.FILE2=org.apache.log4j.FileAppender
 log4j.appender.FILE2.File=e:/2.html
 log4j.appender.FILE2.layout=org.apache.log4j.HTMLLayout
 #高级日志配置2 自定义布局
 log4j.appender.FILE3=org.apache.log4j.FileAppender
 log4j.appender.FILE3.File=e:/3.log
 log4j.appender.FILE3.layout=org.apache.log4j.PatternLayout
 log4j.appender.FILE3.layout.conversionPattern=%t;%p;%c;%m;%d;%l;%n
 ====================================================================

 

 

 

#%c:日志消息所在类名  
 
  #%d:发生时间   
  #%l:行数    
  #%n:换行    
 
 %表示output输入
 p表示level
 c表示调用的类
 m表示log时的信息
 n表示回车
 M表示输出log时的信息的那个方法
 F表示输出log时的信息的那个文件名
 L表示输出log时的信息所在类的行数
 LOG4J中PatternLayout的布局参数
 ConversionPattern参数的格式含义
 格式名 含义
 %c 输出日志信息所属的类的全名,可以在其后指定继承的层数,比如{2}输出到其父类,{3}输出到父类的父类。
 %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
 %M 输出日志信息所属的函数的名称、参数类型、返回类型。
 %m 输出代码中指定的信息,如log(message)中的message
 %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推。可以用%5p或者%-5p来强制输出5个字符,不足的在前面或者后面补充空格。
 %r 输出自应用启动到输出该日志信息所耗费的毫秒数
 %t 输出产生该日志事件的线程名
 %f 输出日志信息所属的类的类名。(测试的结果似乎应该是%F,而且输出的是那个类的文件名)
 %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行

 

===========================================================================================

二、在Spring中配置Log4j


 

 

 

  

 

 

  

<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"-->   
  
       <param-name>webAppRootKey</param-name>
       <param-value>ssh.root</param-value>
   </context-param>
  
       <param-name>log4jConfigLocation</param-name>
       <param-value>WEB-INF/log4j.properties</param-value>
   </context-param>
   <context-param>
       <param-name>log4jRefreshInterval</param-name>
       <param-value>60000</param-value>
   </context-param>
   <listener>
       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
   </listener>
   
   
   
   
        log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log