Log4j2一定入门教程

目标

文章目标

1、让你可以入门,可以输出日志到控制台和文件中,但不讲输出格式方面的东西;2、说明下Log4j2中的一些概念

目标人群

以前对Log4j没有了解或者了解很少的人或者你就想看看作者多菜的人。但是至少要对日志有个基本了解,例如日志级别。

简介

前几天公司的同事说要使用Log4j2,要抛弃公司自己封装的那一套日志框架了。以前就有从头细致学习Log4j2日志的想法,借着机会就系统的学习下吧!但是在入手的过程中,发现许多基础概念没有,然后别人写的入门教程看不懂,有疑问也不知道找谁,那就自己上,有问题自己解决。本篇主要介绍我当时疑惑的问题,无法入门。

最简单的配置

1、需求

简单的把info级别的日志打印到控制台。

show me code。

也可以看开源代码的start模块。

package learn.log4j2.start;
/** * Created by pengge on 2016/12/7. 
* Purpose: 入门代码
*/
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class QuicklyStart {    
      private static final Logger LOGGER = LogManager.getLogger(QuicklyStart.class);    
      public static void main(String[] args) {        
          LOGGER.warn("logger:warn");       
          LOGGER.error("logger:error");        
          LOGGER.info("logger:info");    
      }
}

配置文件。注意文件名必须为:log4j2.xml,且必须放到class目录


    
          
                 
                
       
       
          
               
               
        
   

这样就可以简单的把日志打印到控制台了。

代码解释

1、xml代码注释

代码主要分为两部分,appenders部分和Loggers部分。其中appenders主要是来配置输出方式,例如输出目的地和输出格式;loggers配置的是创建日志时的名称。log4j2创建日志时有三种方式,1)默认root、2)指定名称、3)父包名。这里用的是全名称匹配,后面会给个事例进行对比。

2、Java代码注释

Java代码很简单,通过调用LogManager.getLogger()方法,使用类名创建了个日志对象。

不同创建对比

public class Two {    
  private static final Logger rootLogger = LogManager.getRootLogger();  
  private static final Logger nameLogger = LogManager.getLogger("name");    
  private static final Logger parentLogger = LogManager.getLogger(Two.class);    
  public static void main(String[] args) {        
    rootLogger.warn("rootLogger:warn");        
    rootLogger.error("rootLogger:error");        
    rootLogger.info("rootLogger:info");        
    nameLogger.warn("nameLogger:warn");        
    nameLogger.error("nameLogger:error");        
    nameLogger.info("nameLogger:info");        
    parentLogger.warn("parentLogger:warn");        
    parentLogger.error("parentLogger:error");        
    parentLogger.info("parentLogger:info");    
  }
}
    
          
                
              
        
     
         
                
              
            
                
              
            
                
              
        
  

上面的例子是对不同方式创建的log进行了对比,如果输出结果,就会明白。

你可能感兴趣的:(Log4j2一定入门教程)