国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot初級開發(fā)--加入Log4j進行日志管理打印(6)

這篇具有很好參考價值的文章主要介紹了SpringBoot初級開發(fā)--加入Log4j進行日志管理打印(6)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


??日志記錄在整個java工程開發(fā)中占著很重要的比重,因為很多問題的排查需要通過日志分析才能確認。在SpringBoot中我用得最多的就是log4j這個日志框架。接下來我們具體配置log4j.

??log4j定義了8個級別的log(除去OFF和ALL,可以說分為6個級別),優(yōu)先級從高到低依次為:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL

    logger.fatal("fatal"); // 嚴重錯誤,一般會造成系統(tǒng)崩潰和終止運行
    logger.error("error"); // 錯誤信息,但不會影響系統(tǒng)運行
    logger.warn("warn"); // 警告信息,可能會發(fā)生問題
    logger.info("info"); // 程序運行信息,數(shù)據(jù)庫的連接、網(wǎng)絡(luò)、IO操作等
    logger.debug("debug"); // 調(diào)試信息,一般在開發(fā)階段使用,記錄程序的變量、參數(shù)等
    logger.trace("trace"); // 追蹤信息,記錄程序的所有流程信息

1.添加POM依賴

     <!-- log4j的日志服務(wù) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
        </dependency>

2.增加log4j.properties日志配置文件

在工程的resources文件夾,增加log4j.properties,具體配置文件如下:

### set log levels - for more verbose logging change 'info' to 'debug' ###
#展示log4j的各種配置
log4j.rootLogger=stdout,File
log4j.appender.logfile.encoding=UTF-8

#打印到控制臺的日志
### Console DEBUG
log4j.logger.stdout=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Append=true  
log4j.appender.stdout.MaxFileSize=20MB  
log4j.appender.stdout.MaxBackupIndex=10  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}-[ %p ] %c - %m%n

#普通文件保存日志
### File
log4j.appender.File.Threshold = ERROR
log4j.appender.File = org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}:%p - %m%n
log4j.appender.File.File=E:/console.log
log4j.appender.File.DatePattern='.'yyyy-MM-dd


#自己定義的日志,這里我們是用作記錄用戶訪問的日志
#這里的日志是按天滾動,后綴名是年月日
###Access log
log4j.logger.accessInfo=INFO,R1
log4j.appender.R1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R1.layout = org.apache.log4j.PatternLayout
log4j.appender.R1.Encoding=UTF-8
log4j.appender.R1.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}:%p %t %c - %m%n
log4j.appender.R1.File=E:/access.log
log4j.appender.R1.DatePattern='.'yyyy-MM-dd

#自己定義的日志,這里我們是用作記錄用戶閱讀的日志
#這里的日志是按天滾動,后綴名是年月日
#user read record log
log4j.logger.userRead=INFO,R2
log4j.appender.R2 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R2.layout = org.apache.log4j.PatternLayout
log4j.appender.R2.Encoding=UTF-8
log4j.appender.R2.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}:%p %t %c - %m%n
log4j.appender.R2.File=E:/user_read.log
log4j.appender.R2.DatePattern='.'yyyy-MM-dd




#INFO
#關(guān)閉某些日志的輸出
log4j.logger.com.zaxxer.hikari=OFF
log4j.logger.org.apache.http.impl.conn.PoolingHttpClientConnectionManager=OFF
log4j.logger.org.thymeleaf.TemplateEngine.CONFIG=OFF
log4j.logger.org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener=OFF
log4j.logger.io.lettuce=OFF

這里總共輸出了4塊日志:
一個是stdout的標準控制臺輸出。

一個是普通文件保存日志基本是所有的日志都會輸出在這里,所以它的日志級別定義的非常高,定義成ERROR級別,這樣普通的DEBUG,INFO這樣的日志都不會輸出到這里,只有ERROR級別的才會輸出。

一個是accessInfo日志,這是用戶自定義的一個日志,用于記錄用戶的訪問日志

一個是userRead日志,這是用戶自定義的一個日志,用于記錄用戶的閱讀記錄日志

接下里在代碼里面,我們增加用戶自定義日志的使用技巧,我們定義一個接口常量,這樣用戶在記錄自己特有的日志信息時,就可以直接用常量接口來調(diào)用

package com.example.firstweb.util;

import org.apache.log4j.Logger;

public interface Constants {

    public static final Logger LOG_ACCESS_INFO = Logger.getLogger("accessInfo");

    public static final Logger LOG_USER_READ = Logger.getLogger("userRead");

}

然后我們在Controller里面使用這些接口常量來記錄日志

package com.example.firstweb.controller;


import com.example.firstweb.model.po.WelcomePo;
import com.example.firstweb.model.vo.WelcomeVo;
import com.example.firstweb.service.WelcomeService;
import com.example.firstweb.util.Constants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;


import org.apache.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@Api(value = "welcome controller", tags = "歡迎界面")
public class Welcome {

    @Autowired
    private WelcomeService welcomeService;

    private static final Logger log = Logger.getLogger(Welcome.class);

    @GetMapping("/welcomeindex")
    @ApiOperation("歡迎首頁的方法1")
    public ModelAndView welcomeIndex(){

        ModelAndView view = new ModelAndView("welcomeindex");


        WelcomePo wpo= welcomeService.getWelcomInfo();

        WelcomeVo wvo= new WelcomeVo();

        BeanUtils.copyProperties(wpo, wvo);

        view.addObject("welcomedata", wvo);


        //默認控制臺輸出日志
        log.info("default log info ");

        //輸出訪問日志
        Constants.LOG_ACCESS_INFO.info("welcome index accesss");
        //輸出用戶閱讀日志
        Constants.LOG_USER_READ.info("first user access log ");




        return view;
    }
    @GetMapping("/welcomeindex2")
    @ApiOperation("歡迎首頁的方法2")
    public void welcomeIndex2(@ApiParam("定制歡迎詞") String test){

    }
}

然后啟動程序,用瀏覽器訪問http://localhost:8088/welcomeindex,然后我們在本地磁盤就可以看到三個日志文件,分別是access.log,console.log,user_read.logSpringBoot初級開發(fā)--加入Log4j進行日志管理打印(6),springboot,JAVA,spring boot,后端,log4j,java,spring
源代碼可以在這里直接獲得鏈接: https://pan.baidu.com/s/161WLSttV-nz5Fbmpf6_VVw 提取碼: rgrf文章來源地址http://www.zghlxwxcb.cn/news/detail-679109.html

到了這里,關(guān)于SpringBoot初級開發(fā)--加入Log4j進行日志管理打印(6)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 1.12 springboot 整合log4j打印日志

    1.12 springboot 整合log4j打印日志

    1.除去springboot自帶的日志 2.添加log4j依賴 3. 添加log4j依賴對應(yīng)的配置文件log4j.properties[api模塊下的resources文件夾下創(chuàng)建] 4.log4j日志應(yīng)用

    2024年02月16日
    瀏覽(26)
  • Springboot配置Log4j日志系統(tǒng),并將日志存入數(shù)據(jù)庫

    Springboot配置Log4j日志系統(tǒng),并將日志存入數(shù)據(jù)庫

    Log4j是apache公司開發(fā)的一款日志管理系統(tǒng),可以高效的管理系統(tǒng)中出現(xiàn)的BUG或者各種信息,并且可以已文本的方式或者數(shù)據(jù)庫存入的方式來記錄數(shù)據(jù) 在pom.xml中導(dǎo)入Log4j依賴 在Resources文件夾下創(chuàng)建一個log4j.properties文件 編寫配置文件 這是個測試類 可以看見,控制臺和數(shù)據(jù)庫表

    2024年02月08日
    瀏覽(95)
  • JAVA中使用log4j及slf4j進行日志輸出的方法

    JAVA中使用log4j及slf4j進行日志輸出的方法

    JAVA中輸出日志比較常用的是log4j,這里講下log4j的配置和使用方法,以及slf4j的使用方法。 一、下載log4j的架包,并導(dǎo)入項目中,如下: 二、創(chuàng)建log4j.properties配置文件 1、log4j配置文件的位置: (1)如果是java project項目,則在項目的根目錄下創(chuàng)建log4j.properties而不是在src目錄下

    2024年02月07日
    瀏覽(26)
  • Springboot通過log4j2+logstash整合日志到Elasticsearch中

    Springboot通過log4j2+logstash整合日志到Elasticsearch中

    Springboot常用于spring-cloud中,大家在使用spring-cloud多服務(wù)的時候常常會存在一個問題,就是某個服務(wù)報錯了,去撈日志的時候要一個一個服務(wù)去監(jiān)控或者撈日志排查錯誤信息,這樣很耗時耗力,Elasticsearch查詢數(shù)據(jù)非常方便,如果能夠?qū)⑷罩颈4娴紼lasticsearch中,出現(xiàn)問題時根據(jù)

    2024年02月04日
    瀏覽(29)
  • 【問題】SpringBoot項目中l(wèi)og4j與logback的Jar包沖突問題

    【問題】SpringBoot項目中l(wèi)og4j與logback的Jar包沖突問題

    這篇文章主要給大家介紹了解決SpringBoot項目中l(wèi)og4j與logback的Jar包沖突問題,文中有詳細的解決方法和沖突的原因。 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/C:/Users/lx/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class

    2024年01月22日
    瀏覽(28)
  • springboot 集成log4j日志,需要自定義json格式內(nèi)容輸出方便ES采集

    公司需要將服務(wù)遷移到K8S環(huán)境上,由于目前服務(wù)輸出的格式不符合ES進行采集的日志格式,所有需要將日志輸出的格式進行調(diào)整為JSON格式,方便ES采集 之前是直接配置的輸出格式的message為 \\\"message\\\": %msg\\\" ,但是由于打日志需要打印json內(nèi)容的日志就沒有進行轉(zhuǎn)義導(dǎo)致,整體輸出

    2024年02月12日
    瀏覽(20)
  • elasticsearch-7.13.3 升級log4j 到log4j-2.17.1

    elasticsearch-7.13.3 升級log4j 到log4j-2.17.1

    1、升級原因 log4j低版本存在嚴重漏洞,根據(jù)需要升級到安全版本,不一定是最新。 log4j-2.17.1 jar包下載地址https://archive.apache.org/dist/logging/log4j/2.17.1/ 2、下載后解壓apache-log4j-2.17.1-bin.tar.gz 升級需要用到截圖中四個jar包 3、升級 刪除舊版本log4j 進入elasticsearch-7.13.3目錄 $ rm -rf l

    2024年02月12日
    瀏覽(26)
  • Log4J

    Log4J

    為什么要用日志? -- 方便調(diào)試代碼 什么時候用?什么時候不用? ? 出錯調(diào)試代碼時候用 生產(chǎn)環(huán)境下就不需要,就需要刪除 怎么用? -- 輸出語句 ? log4j是Apache的一個開放源代碼的項目,通過使用log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服

    2024年02月08日
    瀏覽(21)
  • 安全學(xué)習_開發(fā)相關(guān)_Java第三方組件Log4j&FastJSON及相關(guān)安全問題簡介

    安全學(xué)習_開發(fā)相關(guān)_Java第三方組件Log4j&FastJSON及相關(guān)安全問題簡介

    Java Naming and Directory Interface (Java 命名和目錄接口 ),JNDI 提供統(tǒng)一的客戶端 API,通過不同的服務(wù)供應(yīng)接口(SPI)的實現(xiàn),由管理者將 JNDI API 映射為特定的命名服務(wù)和目錄服務(wù),使得 JAVA 應(yīng)用程可以通過 JNDI 實現(xiàn)和這些命名服務(wù)和目錄服務(wù)之間的交互。 Log4J: Apache的一個開源項目

    2024年02月05日
    瀏覽(56)
  • 036-安全開發(fā)-JavaEE應(yīng)用&第三方組件&Log4j日志&FastJson序列化&JNDI注入

    036-安全開發(fā)-JavaEE應(yīng)用&第三方組件&Log4j日志&FastJson序列化&JNDI注入

    1、JavaEE-組件安全-Log4j 2、JavaEE-組件安全-Fastjson 3、JavaEE-基本了解-JNDI-API 演示案例: ?Java-三方組件-Log4JJNDI ?Java-三方組件-FastJson反射 Jar倉庫: https://mvnrepository.com/ Maven配置: https://www.jb51.net/article/259780.htm JNDI相關(guān)概念: 1、JNDI是一個接口,在這個接口下會有多種目錄系統(tǒng)

    2024年02月21日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包