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

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ù)

第一步:導(dǎo)入依賴

在pom.xml中導(dǎo)入Log4j依賴

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version>
</dependency>

第二步:創(chuàng)建數(shù)據(jù)庫

create table error
(
    Id          int          not null AUTO_INCREMENT Primary Key comment '主鍵id',
    Log_Level   varchar(100) not null comment '日志級別',
    Log_Message varchar(500) not null comment '日志信息',
    Log_Tim     datetime DEFAULT CURRENT_TIMESTAMP comment '日志時間'

) engine = innodb
  default charset = utf8;

第三步:配置log4j.properties配置文件

在Resources文件夾下創(chuàng)建一個log4j.properties文件

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

編寫配置文件

# log4j 日志系統(tǒng): 將日志內(nèi)容插入到數(shù)據(jù)庫
log4j.rootLogger=DEBUG, DB, console
# 指定Appender輸出端
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
# 指定數(shù)據(jù)庫連接池
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/data
# 指定數(shù)據(jù)庫驅(qū)動(注意區(qū)分5.7與8.0)
log4j.appender.DB.driver=com.mysql.cj.jdbc.Driver
# 指定數(shù)據(jù)庫用戶名
log4j.appender.DB.user=root
# 指定數(shù)據(jù)庫密碼
log4j.appender.DB.password=passwd
# 指定數(shù)據(jù)庫SQL語句
log4j.appender.DB.sql=INSERT INTO error(Log_Level,Log_Message) VALUES('%p','%m')
# 指定Layout日志格格式化器
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
# 將日志輸出到控制臺
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%F:%L]-[%p]-[%c]-%m%n
log4j.appender.console.encoding=UTF-8

第四步:在程序代碼中將出現(xiàn)的BUG存入數(shù)據(jù)庫

這是個測試類

package com.example.userinfoserver;

import org.apache.log4j.Logger;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class UserInfoServerApplicationTests {
//    導(dǎo)入Logger類
    private static Logger logger = Logger.getLogger(UserInfoServerApplicationTests.class);
    @Test
    void TestDemo01() {
//        將把數(shù)據(jù)提報,并且存入數(shù)據(jù)庫
        logger.error("這是一個示例BUG");
    }
}

運行測試類

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

控制臺輸出

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

數(shù)據(jù)庫記錄的數(shù)據(jù)

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

可以看見,控制臺和數(shù)據(jù)庫表中都記錄了自己定義的錯誤提示

附帶參數(shù)說明

日志級別

Log4J 在 org.apache.log4j.Level 類中定義了OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL七種日志級別:

日志級別 參數(shù)說明
OFF 最高日志級別,關(guān)閉左右日志
FATAL 將會導(dǎo)致應(yīng)用程序退出的錯誤
ERROR 發(fā)生錯誤事件,但仍不影響系統(tǒng)的繼續(xù)運行
WARN 警告,即潛在的錯誤情形
INFO 一般和在粗粒度級別上,強調(diào)應(yīng)用程序的運行全程
DEBUG 一般用于細粒度級別上,對調(diào)試應(yīng)用程序非常有幫助
ALL 最低等級,打開所有日志記錄

注:一般只使用4個級別,優(yōu)先級從高到低為 ERROR > WARN > INFO > DEBUG

Appender(輸出端)

Appender 用來指定日志輸出到哪個地方,可以同時指定日志的輸出目的地。Log4j 常用的輸出目的地有以下幾種:文章來源地址http://www.zghlxwxcb.cn/news/detail-478183.html

輸出端類型 作用
ConsoleAppender 將日志輸出到控制臺
FileAppender 將日志輸出到文件中
DailyRollingFileAppender 將日志輸出到一個日志文件,并且每天輸出到一個新的文件
RollingFileAppender 將日志信息輸出到一個日志文件,并且指定文件的尺寸,當文件大 小達到指定尺寸時,會自動把文件改名,同時產(chǎn)生一個新的文件
JDBCAppender 把日志信息保存到數(shù)據(jù)庫中

Layout(日志格式化器)

格式化器類型 作用
HTMLLayout 格式化日志輸出為HTML表格形式
SimpleLayout 簡單的日志輸出格式化,打印的日志格式為(info - message)
PatternLayout 最強大的格式化期,可以根據(jù)自定義格式輸出日志,如果沒有指定轉(zhuǎn)換格式,就是用默認的轉(zhuǎn)換格式

日志的輸出格式

log4j 采用類似 C 語言的 printf 函數(shù)的打印格式格式化日志信息,具體的占位符及其含義如下:

%m   輸出代碼中指定的日志信息

%p    輸出優(yōu)先級,及 DEBUG、INFO 等

%n    換行符(Windows平臺的換行符為 "\n",Unix 平臺為 "\n")

%r     輸出自應(yīng)用啟動到輸出該 log 信息耗費的毫秒數(shù)

%c    輸出打印語句所屬的類的全名

%t     輸出產(chǎn)生該日志的線程全名

%d    輸出服務(wù)器當前時間,默認格式為 ISO8601,也可以在后面指定格式。如:%d{yyyy年MM月dd日 HH:mm:ss}

%l     輸出日志時間發(fā)生的位置,包括類名、發(fā)生的線程,以及在代碼中的行數(shù),如:Test.main(Test.java:10)

%F    輸出日志消息產(chǎn)生時所在的文件名稱

%L    輸出代碼中的行號

%x    輸出和當前線程相關(guān)的 NDC(嵌套診斷環(huán)境)

%%   輸出一個 "%" 字符

可以在 % 與字符之間加上修飾符來控制最小寬度、最大寬度和文本的對其方式。如:
%5c    輸出category名稱,最小寬度是5,category<5,默認的情況下右對齊
%-5c   輸出category名稱,最小寬度是5,category<5,"-"號指定左對齊,會有空格
%.5c   輸出category名稱,最大寬度是5,category>5,就會將左邊多出的字符截掉,<5不會有空格
%20.30c   category名稱<20補空格,并且右對齊,>30字符,就從左邊交遠銷出的字符截掉

到了這里,關(guān)于Springboot配置Log4j日志系統(tǒng),并將日志存入數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • ELK日志系統(tǒng)設(shè)計方案-Log4j日志直推Kafka

    ELK日志系統(tǒng)設(shè)計方案-Log4j日志直推Kafka

    ELK 日志系統(tǒng)的常見解決方案: 通常的產(chǎn)品或項目部署至服務(wù)器,服務(wù)一般會打印日志便于線上問題跟蹤。 使用 Log4j 中的自定義 Appender,將服務(wù)運行打印的日志直接推送到 Kafka 中。經(jīng)由 Logstash 消費 Kafka 生產(chǎn)的數(shù)據(jù),進行加工過濾后輸出到 ElasticSearch 進行日志數(shù)據(jù)的存儲與全

    2023年04月08日
    瀏覽(24)
  • springboot log4j配置xml實例說明

    `` Log4j有三個主要的組件: Loggers(記錄器):日志類別和級別 Appenders(輸出目標):日志要輸出到的地方 Layouts(布局):日志以何種形式輸出 Properties全局參數(shù) 可以定義springName和pattern格式,全局使用。 Loggers組件在此系統(tǒng)中被分為五個級別:DEBUG、INFO、WARN、ERROR和FATAL。這

    2024年01月21日
    瀏覽(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)
  • Java中的Log4j是什么?如何使用Log4j進行日志管理

    Log4j是一個Java日志管理工具,它可以幫助開發(fā)者在應(yīng)用程序中記錄日志。它是由Apache軟件基金會開發(fā)和維護的,已經(jīng)成為Java開發(fā)中最流行的日志管理框架之一。 Log4j可以通過多種方式記錄日志,包括控制臺輸出、文件輸出、數(shù)據(jù)庫存儲等。此外,Log4j還提供了多種日志級別,

    2024年02月04日
    瀏覽(34)
  • 【日志加載 log4j】

    【日志加載 log4j】

    2.編寫配置 3.獲取日志對象 4.1 Loggers 記錄器 4.2 Appenders 輸出源 4.3 Layouts 布局 5. 配置文件 log4j.properties

    2024年02月11日
    瀏覽(23)
  • 用Log4j 2記錄日志

    用Log4j 2記錄日志

    下面代碼示例的maven工程中的pom.xml文件中需要增加對Log4j 2的依賴: 配置說明參考文檔 https://logging.apache.org/log4j/2.x/manual/configuration.html 配置文件中pattern的詳細說明 例如,下面配置文件片段中用到了pattern: pattern的詳細說明請參考: https://logging.apache.org/log4j/2.x/manual/layouts.ht

    2024年02月14日
    瀏覽(23)
  • log4j日志框架的使用

    log4j的配置文件可以理解成有2部分 1根日志記錄器? 2 各appender(輸出源)配置 入口 loggerManager的靜態(tài)代碼塊 在loggerManager的靜態(tài)代碼塊中,完成對配置文件的讀取和解析 然后組裝成框架的Logger對象、appender對象完成初始化操作 當調(diào)用logger.info打印日志時,和logback的流程基本一樣

    2024年02月04日
    瀏覽(23)
  • Log4j瘋狂寫日志問題排查

    最近有個 Java 系統(tǒng)上線后不久就收到了磁盤使用率告警,磁盤使用率已經(jīng)超過了 90% 以上,并且磁盤使用率還在不停增長。 由于服務(wù)器磁盤被打滿,導(dǎo)致了系統(tǒng)正常的業(yè)務(wù)日志無法繼續(xù)打印,嚴重影響了系統(tǒng)的可靠性。 剛開始收到磁盤告警的時候,懷疑是日志級別問題,業(yè)務(wù)

    2024年02月13日
    瀏覽(25)
  • Java日志框架JUL、Log4j、logback、log4j2使用

    Java日志框架JUL、Log4j、logback、log4j2使用

    隨著軟件系統(tǒng)的發(fā)展系統(tǒng)業(yè)務(wù)越來越多、邏輯越來越復(fù)雜、代碼量越來越多,伴隨著容易出現(xiàn)的bug也會越來越多,不論是開發(fā)測試階段還是生產(chǎn)階段都需要將這些錯誤及時的捕捉記錄下來,方便解決這些問題,否則針對出現(xiàn)的異常無從下手;此時就需要一些日志框架來完成這

    2024年02月15日
    瀏覽(20)
  • Java 項目日志實例基礎(chǔ):Log4j

    Java 項目日志實例基礎(chǔ):Log4j

    點擊下方關(guān)注我,然后右上角點擊...“設(shè)為星標”,就能第一時間收到更新推送啦~~~ 介紹幾個日志使用方面的基礎(chǔ)知識。 1 Log4j 1、Log4j 介紹 Log4j(log for java)是 Apache 的一個開源項目,通過使用 Log4j,我們可以控制日志信息輸出到日志文件、也可以控制每一條日志的輸出格式

    2024年02月12日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包