Log4j2 日志打印简介

注意:本篇文章是以log4j2.x 为例的,并不是log4j 1.x

log4j 就是log for java  , log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中

 

一.官网下载log4j的jar 包

http://logging.apache.org/log4j/2.x/download.html

 

Log4j2 日志打印简介_第1张图片

一般来说:Source是源代码版,你需要自己编译成可执行软件。
                  Binary是可执行版,直接可以拿来用的,他已经给你编译好的版本

 

二.下载后解压,找到log4j-core-2.11.1.jar 和log4j-api-2.11.1.jar 这两个jar包,主要是这两个包

 

三.打开eclipse,新建最简单的java project

然后右键项目Bulid Path---->Confirgure Bulid Path ---->Libraries---->Add External JARs,选择两个主要的jar包

Log4j2 日志打印简介_第2张图片

可以看到,加入jar包后 ,会自动添加一个Referenced Libraries的目录,既“引用的库”,里面就是加入的两个包

 

四.在src下新建配置文件log4j2.xml

    
  
  
      
  
          
  
              
  
              
          

  
  
          
              
          

  
          
              
              
          

  
          
              
              
          
      

  
      
  
          
              
              
              
              
          

      
  

 

 五.在src下新建一个package---log4j_test , 在log4j_test包下新建一个测试类common.java

package log4j_test;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class common {
    private static Logger logger = LogManager.getLogger(common.class.getName());
    
    public static void main(String[] args) throws Exception {
        // 记录debug级别的信息  
        logger.debug("This is debug message.");  
        // 记录info级别的信息  
        logger.info("This is info message.");  
        // 记录error级别的信息  
        logger.error("This is error message."); 
    }
}

 

至此已经搭建完毕,项目结构图如下:

Log4j2 日志打印简介_第3张图片

 

最后:运行程序,可以看到console窗口输出:

 

我们打开workspace,项目目录下,查看会发现多了两个文件夹 log,logs,里面会有test.log,web.log,error.log这几个文件,都是xml文件配置后自动输出的结果:

Log4j2 日志打印简介_第4张图片

 

 

常见报错:

LogManger找不到类似的,应该都是包导入错误,应该是log4j2.x的版本,不要弄错

 

 

简单说下log4j和log4j2的区别

1.log4j的配置文件是log4j.properties,而log4j2的配置文件变成了log4j2.xml格式的

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

3.调用方式不一致:

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());

4.文件渲染:

log4j想要生效,我们需要在web.xml中进行配置,而log4j2则不需要,只需要配置好log4j2.xml即可

 
    org.springframework.web.util.Log4jConfigListener
   
    log4jConfigLocation
    classpath:config/log4j.properties
  
  
    log4jRefreshInterval
    60000

 

详细的区别可参考:www.cnblogs.com/williamjie/p/9197738.html

 

未完待续.......

 

 

你可能感兴趣的:(JavaWeb,log4j2,java)