栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot Log4j2的配置使用详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot Log4j2的配置使用详解

后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发。程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题所在。

Spring Boot 可以集成很多不同的日志系统,其中最常用的Apache Log4j,而Log4j 2是Log4j的升级版本,Log4j 2相对于Log4j 1.x 有了很多显著的改善。所以这篇博客就直接来说说Spring Boot如何集成并配置使用Log4j2.

1. 导入Log4j2的包

如果你使用Gradle,则在 build.gradle 文件中添加以下依赖。示例代码中使用的是Gradle方式。

dependencies {
  // log4j2
  compile "org.apache.logging.log4j:log4j-api:2.8"
  compile "org.apache.logging.log4j:log4j-core:2.8"
  // 用来支持Logger中的Async
  compile 'com.lmax:disruptor:3.3.6'
}

如果你使用Maven,则在 pom.xml 文件中添加以下依赖。


 
  org.apache.logging.log4j
  log4j-api
  2.8
 

 
  org.apache.logging.log4j
  log4j-core
  2.8
 

 
  com.lmax
  disruptor
  3.3.6
 


2. 添加log4j2配置文件

在项目的resources资源文件根目录下创建 log4j2.xml 文件并复制以下代码到文件中。




  
  
    /home/kylin/log/knight/spring_log
    /home/kylin/log/knight/spring_log/7z
  

  
    
    
      
      
      
      
    

    
    
      
      
 
 
      
      
 
 
 
      
      
      
    

    
    
      
      
 
 
      
      
 
 
      
      
      
    
  

  
  
    
    
      
      
      
    
  


3. 编写Log4j2辅助类

做好以上的配置之后,我们可以编写一个辅助类,让我们更方便的使用Log4j2来记录日志。

在utils包中创建 L.java 类文件。

package com.spring.log4j2.utils;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


public classL{

  private static final Logger LOGGER = LogManager.getLogger();

  privateL(){
    
    throw new UnsupportedOperationException("cannot be instantiated");
  }

  publicstaticLoggergetLogger(){
    return LOGGER;
  }

  publicstaticvoidt(String msg){
    LOGGER.trace(msg);
  }

  publicstaticvoidd(String msg){
    LOGGER.debug(msg);
  }

  publicstaticvoidi(String msg){
    LOGGER.info(msg);
  }

  publicstaticvoidw(String msg){
    LOGGER.warn(msg);
  }

  publicstaticvoide(String msg){
    LOGGER.error(msg);
  }
}

编写完辅助类,使用起来就很简单了,通过下面的代码就可以轻松使用。

@Controller
public classWebController{
  @RequestMapping("/")
  publicStringindex(){
    String msg = "Spring Boot系列之Log4j2的配置及使用";
    L.t(msg);
    L.d(msg);
    L.i(msg);
    L.w(msg);
    L.e(msg);
    return "index";
  }
}

这里的辅助类只是写了一些基本的使用方法,你可以根据你的需求进行定制,增加更多的辅助方法。对于辅助类中没有提供的方法也可以使用 L.getLogger() 方法获取Logger实例来使用。

4. 结果验证

日志的Level分级:TRACE < DEBUG < INFO < WARN < ERROR < FATAL。

因为我的log4j2中的level设置的是 INFO 级别。所以打印信息中只能看到 INFO 、 WARN 、 ERROR 三种级别(FATAL级别的信息没有打印,否则也可以看到)。

打印信息如下图所示:

同时在电脑系统中生成了Log文件,如下图所示:

观察路径可以发现,这个路径正是在 Log4j2.xml 中设置的路径:



  /home/kylin/log/knight/spring_log
  /home/kylin/log/knight/spring_log/7z

5. 更多

Log4j2的Github地址:https://github.com/apache/logging-log4j2

本教程的示例代码地址:https://github.com/dkylin/SpringBoot-Sample/tree/master/SpringBoot-log4j2

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/146224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号