真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot2集成log4j2日志框架的實(shí)現(xiàn)

前言

創(chuàng)新互聯(lián)公司一直在為企業(yè)提供服務(wù),多年的磨煉,使我們?cè)趧?chuàng)意設(shè)計(jì),全網(wǎng)整合營(yíng)銷推廣到技術(shù)研發(fā)擁有了開(kāi)發(fā)經(jīng)驗(yàn)。我們擅長(zhǎng)傾聽(tīng)企業(yè)需求,挖掘用戶對(duì)產(chǎn)品需求服務(wù)價(jià)值,為企業(yè)制作有用的創(chuàng)意設(shè)計(jì)體驗(yàn)。核心團(tuán)隊(duì)擁有超過(guò)10多年以上行業(yè)經(jīng)驗(yàn),涵蓋創(chuàng)意,策化,開(kāi)發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)移動(dòng)服務(wù)器托管、APP應(yīng)用開(kāi)發(fā)、手機(jī)移動(dòng)建站、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)整合營(yíng)銷。

Log4j2是 Log4j 的進(jìn)化版本,并提供了許多 Logback 可用的改進(jìn),同時(shí)解決了 Logback 體系結(jié)構(gòu)中的一些固有問(wèn)題。而且日志處理中我們會(huì)用到kafka作為日志管道。而kafka客戶端依賴與Logback的兼容不是很完美,你可以選擇排除依賴沖突或者使用Log4j2 。

排除Logback依賴

Spring Boot 2.x默認(rèn)使用Logback日志框架,要使用 Log4j2必須先排除 Logback。


 org.springframework.boot
 spring-boot-starter
 
   
  
   org.springframework.boot
   spring-boot-starter-logging
  
 

引入Log4j2依賴



 org.springframework.boot
 spring-boot-starter-log4j2

上面的 log4j2 已經(jīng)適配了slf4j日志門面,所以我們的代碼無(wú)需替換,只需要替換具體的日志框架以及對(duì)應(yīng)的配置文件。

配置Log4j2

創(chuàng)建log4j2.xml文件,放在工程resources目錄里。這樣就可以不加任何配置。如果你需要指定配置文件需要在Spring boot 配置文件application.yml中指定 logging.config 屬性。下面是一份比較詳細(xì)的 log4j2 配置文件 :

 <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
  
  
  
   
   
    
   
  
  
   
  
  
   
      
    
    
    
     
     
    
   
   
    
    
    
     
     
    
   
    
   
   
    
    
    
     
     
    
   
  
  
  
   
    
   
   
    
    
    
    
   
  
 

基本上你拿上面的配置根據(jù)你自己的需要更改一下即可生效。 windows 下 ${sys:user.home} 會(huì)將日志打印到用戶目錄下

調(diào)用Logger輸出日志

下面的示例代碼使用了神器lombok中的@Slf4j 注解可以很方便的使用 org.slf4j.Logger 對(duì)象。日常開(kāi)發(fā)盡量使用Slf4j門面來(lái)處理日志,盡量避免使用具體的日志框架。

package cn.felord.spring.security;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.time.LocalDate;
import java.util.Properties;

/**
 * @author dax
 * @since 2019/10/9 0:03
 */
@Slf4j
@RestController
@RequestMapping("/logging")
public class LogController {


 @GetMapping("/do")
 public String log() {

  log.info("log4j2 test date: {} info: {}", LocalDate.now(), "請(qǐng)關(guān)注公眾號(hào):Felordcn");
 
  return "log4j2";
 }
 
}

控制臺(tái)輸出 :[00:14:48:161] [INFO] - cn.felord.spring.security.LogController.log(LogController.java:23) - log4j2 test date: 2019-10-09 info: 請(qǐng)關(guān)注公眾號(hào):Felordcn 并存檔。

總結(jié)

今天我們將Spring Boot 2.x 的日志框架由默認(rèn)的Logback 替換為 log4j2 并著重的提及了一些實(shí)戰(zhàn)中使用的要點(diǎn)。相信你很快能夠掌握這一技巧。日志作為應(yīng)用運(yùn)行情況,業(yè)務(wù)執(zhí)行情況的重要依據(jù),是開(kāi)發(fā)排錯(cuò),業(yè)務(wù)追溯的重要保障。希望各位能夠重視起來(lái)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

作者:碼農(nóng)小胖哥

來(lái)源:https://segmentfault.com/a/1190000020618973


網(wǎng)頁(yè)標(biāo)題:SpringBoot2集成log4j2日志框架的實(shí)現(xiàn)
標(biāo)題URL:http://weahome.cn/article/jhggoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部