log4j2日志保存

logj2与log4j的区别

  1. log4j2是log4j的升级版,log4j 2.0与以往的1.x有一个明显的不同,其配置文件只能采用.xml, .json或者 .jsn。在默认情况下,系统选择 configuration文件的优先级如下:(classpath为scr文件夹):
    1.classpath下名为 log4j-test.json 或者log4j-test.jsn文件
    2.classpath下名为 log4j2-test.xml
    3.classpath下名为 log4j.json 或者 log4j.jsn文件
    4.classpath下名为 log4j2.xml
    必须注意.xml 文件的文件名为log4j2
  1. 加载方式不同 (web.xml)
  • log4j 配置方式
  • log4j2 配置方式(servlet 2.5以上)
    org.springframework.web.util.Log4jConfigListener


    log4jConfigLocation
    classpath:config/log4j.properties


    log4jRefreshInterval
    60000


    org.apache.logging.log4j.web.Log4jServletContextListener
  
  
      isLog4jAutoInitializationDisabled
      true
  

lo4j2的配置

  1. 参数说明
root标签为log的默认输出形式,如果一个类的log没有在loggers中明确指定其输出lever与格式,那么就会采用root中定义的格式。
Appenders标签,其实就是输出,有各种扩展组件,主要类型有:
ConsoleAppender   输出结果到控制台
FileAppender  输出结果到指定文件
RollingFileAppender   同样输出结果到文件,区别是用一个buffer,因此速度会快点
这里介绍下RollingRandomessFile 的相关属性:
name:表示该appender的名称
fileName:表示输出的文件的路径
append:是否追加,true表示追加内容到所在的日志,false表示每次都覆盖
filePattern:表示当日志到达指定的大小或者时间,产生新日志时,旧日志的命名路径。
PatternLayout:和log4j1一样,指定输出日志的格式
Policies:策略,表示日志什么时候应该产生新日志,可以有时间策略和大小策略等
ThresholdFilter :过滤器,如果你要选择控制台只能输出ERROR以上的类别,你就用ThresholdFilter,把level设置成ERROR,onMatch="ACCEPT" onMismatch="DENY" 的意思是匹配就接受,否则直接拒绝
  1. 配置属性 (resource 路径下)
  • java项目
  • web项目 (${sys:catalina.home} 是tomcat下的根目录)


	
		
			
			
		
		
			
		
		
			
		
		
			
			
			
				
			
		
	
	
		
			
			
		
		
			
		
	



    
        
            
            
        
        
            
        
        
            
        
        
            
            
          
    			
    		
        
    
    
          
         
        
            
            
        
    




顺便贴上log4j的配置文件已被以后使用


log4j.rootLogger=${log4j.leve},A1,DRF
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
log4j.appender.A1.layout.ConversionPattern=%d %5p [%F:%L] : %m%n

log4j.appender.DRF=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DRF.Threshold=${log4j.leve}
log4j.appender.DRF.DatePattern='.'yyyy-MM-dd
log4j.appender.DRF.File=logs/sinopay-service-payrules.log
log4j.appender.DRF.Append=true
log4j.appender.DRF.layout=org.apache.log4j.PatternLayout
log4j.appender.DRF.layout.ConversionPattern=[%-5p][%d{yyyyMMdd HH:mm:ss,SSS}][%C{1}:%L] %m%n


###\u8F93\u51FASQL 
log4j.logger.com.ibatis=${log4j.ale}
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=${log4j.ale}
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=${log4j.leve}
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=${log4j.ale}
log4j.logger.java.sql.Connection=${log4j.ale}
log4j.logger.java.sql.Statement=${log4j.ale}
log4j.logger.java.sql.PreparedStatement=${log4j.ale}
org.springframework = ${log4j.ale}
org.apache.zookeeper = ${log4j.ale}

你可能感兴趣的:(java技术总结,java经验)