您当前的位置: 首页 >  log4j

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

日志框架:Log4j2

梁云亮 发布时间:2019-10-27 18:19:29 ,浏览量:2

第一步:导入Maven依赖

	org.apache.logging.log4j
	log4j-slf4j-impl
	2.17.2

第二步:在类路径下添加log4j2.xml配置文件





    
        
        
        log4j2Logs
        
        

        
        %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %l - %m%n
        
        %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %C.%M - %m%n

        
        20MB
        
        DEBUG

        
        ${basePath}/all.log
        
        ${basePath}/%d{yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz
        
        50

        
        ${basePath}/info.log
        
        ${basePath}/%d{yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz
        
        10

        
        ${basePath}/warn.log
        
        ${basePath}/%d{yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz
        
        10

        
        ${basePath}/error.log
        
        ${basePath}/%d{yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz
        
        10

        
        DEBUG

    

    
    
        
        
            
            
            
            
        

        
        
            
            
            
            
        

        
        
            
            
            
            
                
                
            
        

        
        
            
            
            
            
                
                
            
        

        
        
            
            
            
            
                
                
            
        
    

    
    
        
        
            
        
        
        
            
            
            
            
            
        
    

第三步:测试代码
	import org.apache.logging.log4j.LogManager;
	import org.apache.logging.log4j.Logger;
	
	public class DemoTest {
	    private static Logger logger = LogManager.getLogger(DemoTest.class.getName());
	
	    public static void main(String[] args) {
	        logger.info("Info");
	        logger.debug("Debug");
	        try {
	            System.out.println(3 / 0);
	        } catch (Exception e) {
	            logger.error("Error");
	            logger.fatal("Fatal");
	        }
	    }
	}

程序运行结果: 在这里插入图片描述 同时在当前项目的路径下生成目录log: 在这里插入图片描述

log4j2整合lombok
  • 添加Lombok依赖

  org.projectlombok
  lombok
  1.18.20

  • 测试代码
@Slf4j
public class DemoTest {

    public static void main(String[] args) {
        log.info("Info");
        log.debug("Debug");
        try {
            System.out.println(3 / 0);
        } catch (Exception e) {
            log.error("Error");
        }
        log.info("你好{}---今天日期是{}", "张三", LocalDate.now());
    }
}

结果: 在这里插入图片描述

log4j和log4j2的区别
  • log4j的配置文件是log4j.properties,而log4j2的配置文件变成了log4j2.xml

  • log4j的只需引入一个jar包 log4j.1.x.xx.jar, 而log4j2则需要两个 log4j.core.xxx.jar和log4j.api.xxx.jar

  • 调用方式不一致:

    • log4j:

      import org.apache.log4j.Logger;
      private final Logger LOGGER = Logger.getLogger(Test.class.getName());
      
    • log4j2:

      import org.apache.logging.log4j.Level;
      import org.apache.logging.log4j.LogManager;
      import org.apache.logging.log4j.Logger;
      private static Logger logger = LogManager.getLogger(Test.class.getName());
      
  • 文件渲染: log4j想要生效,我们需要在web.xml中进行配置,而log4j2则不需要,只需要配置好log4j2.xml即可

    
        org.springframework.web.util.Log4jConfigListener
      
      
        log4jConfigLocation
        classpath:config/log4j.properties
    
      
        log4jRefreshInterval
        60000
    
    
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0578s