色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

log4j日志框架分析

汽車電子技術 ? 來源:Java爛筆頭 ? 作者:小週 ? 2023-02-28 14:32 ? 次閱讀


日志很重要!!!

//log4j是什么?

log4j是Apache下的一款開源的日志框架,能夠滿足我們在項目中對于日志記錄的需求。log4j提供了簡單的API調用,強大的日志格式定義以及靈活的擴展性。使用者可以自己定義Appender來滿足對于日志輸出的需求。在系統中對于記錄日志的需求并不單純。

首先,希望日志能持久化到磁盤,最基本的就是能夠保存到文件中;

其次,希望在開發和生產環境中記錄的日志并不相同,明顯開發環境的日志記錄會更多方便調試,但放到生產環境下大量的日志很容易會撐爆服務器,因此在生產環境希望只記錄重要信息

基于不同的目的,System.out.println不能直接滿足使用者的需求,因此應該選擇功能更強的日志框架。而log4j是apache下一款著名的開源日志框架。

//為什么需要日志?

①異常的場景

產品開發、系統運維(升級、日常管理等)

②時間成本

快速、高效

③人力成本

簡化、降低難度

//日志給誰用?

pYYBAGP9n36ARCiXAAGH2W3m17o808.png

//日志什么時候用?

日志作為一種調試利器,可以幫助我們觀察軟件運行時內部結構和狀態,輔助開發。日志文件分析已成為大型軟件項目中代碼調試的主要手段

①軟件測試時

軟件測試過程中,通過Debug或Trace信息,可以確認功能的實現原理及正確性。

②軟件運維時

已發布運行的軟件,當某個功能出現異常時,我們無法像開發環境一樣進行調試找原因,能留給我們的就只有日志系統。如網管的配置下載問題。

③學習軟件時

熟悉一個陌生軟件系統時,日志能夠提供很多線索給我們去了解軟件的架構和實現邏輯。

//日志什么時候該記錄?

①模塊的啟動與結束

需要對模塊的啟動和結束進行監控,從而知道模塊是否正常加載或正常退出。比如網管ICE服務的OnClientInitMe等函數。

②用戶登錄及操作

需要記錄用戶何時登錄、登出以及做了哪些操作,方便審計。比如網管的安全日志和操作日志。

③異常信息

所有捕獲異常的位置均應當記錄異常內容日志,所有與系統軟件預期不符的地方都要記錄日志。

④軟件的關鍵方法

需要記錄軟件系統的一些關鍵性操作,它是衡量系統正常運行的重要指標。比如業務/配置增刪改、激活、去激活等關鍵操作。

//日志有幾個等級?

日志等級:OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL。

通常以下幾種:TRACE、DEBUG、INFO、WARN、ERROR

①TRACE :細致入微,可以用于開發過程中追蹤bug 。

②DEBUG:系統調試信息,通常用于開發過程中對系統運行情況的監控,在實際運行環境中不進行輸出。

③INFO:系統運行的關鍵性信息,通常用于對系統運行情況的監控。

④WARN:告警信息,系統存在潛在的問題,有可能引起運行異常,但此時并未產生異常。

⑤ERROR:系統錯誤信息,需要進行及時處理和優化。

等級

目的

階段

對象

程度

ERROR

告警

運行

用戶

準確/嚴重

WARN

提醒

運行/使用

用戶

準確

INFO

說明

使用

運維

簡潔

DEBUG

詳解

開發調試

維護/開發

詳細清楚

TRACE

研究

調試/學習

開發/研發

細致入微

//使用日志該注意什么?

①粒度適中

②寫有意義的log

③不同場景選擇正確的日志級別

④日志信息可理解性

⑤日志語言選擇英文

日志細節決定系統成敗!

//log4j日志該如何配置使用?

配置

在項目資源配置文件夾新建log4j.properties

### 設置###
log4j.rootLogger = debug,stdout,debugLog,infoLog,errorLog

### 輸出信息到控制臺 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 輸出DEBUG 級別以上的日志 ###
log4j.appender.debugLog = org.apache.log4j.DailyRollingFileAppender
log4j.appender.debugLog.File =logs/debug/log.log
log4j.appender.debugLog.DatePattern = '.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.debugLog.Append = true
log4j.appender.debugLog.Threshold = DEBUG
log4j.appender.debugLog.layout = org.apache.log4j.PatternLayout
log4j.appender.debugLog.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 輸出INFO 級別以上的日志 ###
log4j.appender.infoLog = org.apache.log4j.DailyRollingFileAppender
log4j.appender.infoLog.File =logs/info/log.log
log4j.appender.infoLog.DatePattern = '.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.infoLog.Append = true
log4j.appender.infoLog.Threshold = INFO
log4j.appender.infoLog.layout = org.apache.log4j.PatternLayout
log4j.appender.infoLog.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 輸出ERROR 級別以上的日志 ###
log4j.appender.errorLog = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorLog.File =logs/error/log.log
log4j.appender.errorLog.DatePattern = '.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.errorLog.Append = true
log4j.appender.errorLog.Threshold = ERROR
log4j.appender.errorLog.layout = org.apache.log4j.PatternLayout
log4j.appender.errorLog.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} 

注意:log4j.properties文件一定存放在資源文件夾中,否則項目無法識別調用

設置輸出內容

編寫日志輸出內容

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestLog4j {

    private static  Logger logger = LoggerFactory.getLogger(TestLog4j.class);

    public static void main(String[] args) {

        System.out.println("This is println message.");
        // 記錄debug級別的信息
        logger.debug("This is debug message.");
        // 記錄info級別的信息
        logger.info("This is info message.");
        // 記錄error級別的信息
        logger.error("This is error message.");
    }
}

測試結果

項目結構

pYYBAGP9n8CAaJOJAAGVqIfb-Rc469.png

運行結果

日志信息輸出到控制臺

pYYBAGP9n8iAOrcXAAEGmjA40cU589.png

日志信息保存到本地

logs文件夾系統會自動生成,無需新建

pYYBAGP9n9OAFxpNAAEIeb63AQc990.png

debug

pYYBAGP9n9yAceceAABXXfvXvqQ753.png

error

poYBAGP9n-OASkweAAAWGwKUNlc643.png

info

pYYBAGP9n-qAeRlwAABXx2baLEg563.png


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17475
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10639
  • Apache
    +關注

    關注

    0

    文章

    64

    瀏覽量

    12463
收藏 人收藏

    評論

    相關推薦

    日志框架簡介-Slf4j+Logback入門實踐

    前言 隨著互聯網和大數據的迅猛發展,分布式日志系統和日志分析系統已廣泛應用,幾乎所有應用程序都使用各種日志框架記錄程序運行信息。因此,作為工
    的頭像 發表于 07-30 10:00 ?1125次閱讀
    <b class='flag-5'>日志</b><b class='flag-5'>框架</b>簡介-Slf<b class='flag-5'>4j</b>+Logback入門實踐

    slf4j打印日志必須的三個依賴包相關資料推薦

    1、slf4j打印日志必須的三個依賴包  日志相關包 slf4j打印日志必須的三個依賴包  slf4j
    發表于 10-19 14:57

    STM32Cube工具的log4j漏洞CVE-2021-44228和CVE-2021-45046有何影響?

    STM32Cube工具的log4j漏洞CVE-2021-44228和CVE-2021-45046有何影響?
    發表于 12-07 07:02

    java 日志框架Spring Boot分析

    應用程序中輸出相應的日志。 在傳統Java應用程序中,我們一般會使用類似Log4j這樣的日志框架來輸出日志,而不是直接在代碼中通過Syste
    發表于 09-28 14:58 ?0次下載

    logback異常輸出詳細信息(調用堆棧)分析

     Logback是一個開源的日志組件,是log4j的作者開發的用來替代log4j的。logback由三個部分組成,logback-core, logback-classic, logback-access。其中logback-c
    發表于 11-28 16:31 ?8333次閱讀

    Java日志框架中的王者是誰

    不及Apache 的新一代日志框架 - Log4j 目前來看,Log4j2 就是王者,其他日志框架
    的頭像 發表于 10-13 09:12 ?1362次閱讀

    使用Keysight免費評估Log4j/Log4Shell零日漏洞

    在過去72小時左右的時間里,網絡安全領域的大多數人已經意識到Log4j/Log4Shell零日漏洞及其對大多數web服務器、云應用程序、互聯網設備和嵌入式設備的廣泛影響。你可以閱讀CVE-2021-44228中記錄的所有血淋淋的細節,但底線是:這可能非常非常糟糕。
    的頭像 發表于 12-21 10:50 ?1532次閱讀

    Log4-detector Log4J漏洞版本掃描器

    log4j-detector.zip
    發表于 05-06 11:55 ?0次下載
    <b class='flag-5'>Log4</b>-detector <b class='flag-5'>Log4J</b>漏洞版本掃描器

    log4j-finder Log4Shell漏洞掃描工具

    log4j-finder.zip
    發表于 05-06 11:54 ?1次下載
    <b class='flag-5'>log4j</b>-finder <b class='flag-5'>Log4</b>Shell漏洞掃描工具

    fix_log4j2 log4j2漏洞緩解工具

    fix_log4j2.zip
    發表于 05-06 10:22 ?0次下載
    fix_<b class='flag-5'>log4j</b>2 <b class='flag-5'>log4j</b>2漏洞緩解工具

    如何復現Log4j2漏洞

    ApacheLog4j2是一個開源的Java日志框架,被廣泛地應用在中間件、開發框架與Web應用中。
    的頭像 發表于 02-13 10:55 ?1374次閱讀

    Spring Boot的日志框架使用

    目前市面上常見的日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4jlog4j
    的頭像 發表于 06-02 10:59 ?941次閱讀
    Spring Boot的<b class='flag-5'>日志</b><b class='flag-5'>框架</b>使用

    基于Rust的Log日志庫介紹

    了一種簡單的方法來實現日志記錄,本文將介紹如何使用Rust的Log庫作為日志門面,并結合env_logger和log4rs兩個日志庫的實戰用
    的頭像 發表于 09-19 14:49 ?3475次閱讀

    保護Log4j日志中的敏感數據,兩步搞定!

    log4j在準備添加日志消息時調用此方法。在MaskingAppender類中,我們覆蓋這個方法來攔截日志消息,使用maskSensitiveData()方法對敏感數據應用masking,然后將修改后的消息傳遞給超類的appen
    的頭像 發表于 10-18 16:03 ?757次閱讀

    Log4cpp優勢及優點

    命令行、文件、回卷文件、內存、syslog服務器、Win事件日志等; 可以動態控制日志記錄級別,在效率和功能中進行調整; 所有配置可以通過配置文件進行動態調整; 多語言支持,包括Java(log4j
    的頭像 發表于 11-09 14:27 ?692次閱讀
    <b class='flag-5'>Log4</b>cpp優勢及優點
    主站蜘蛛池模板: 性女传奇快播| 免费在线观看一区| 超熟女专门志| 在线视频中文字幕| 迅雷成人论坛| 秋霞午夜鲁丝片午夜精品久| 精品国产品在线18年| 国产高清视频青青青在线| 999精品在线| 真实国产乱子伦精品一区二区三区| 四库影院永久国产精品| 男人插曲女人的视频| 久久国语精品| 狠狠色在在线视频观看| 丰满饥渴老太性hd| WINDOWSCHANNEL老太| 92午夜理论第1000集 app| 一道本在线伊人蕉无码| 亚洲成人一区二区| 午夜啪啪免费视频| 丝袜情趣在线资源二区| 日本理伦片午夜理伦片| 欧美精品华人在线| 嗯啊不要老师| 免费精品国产人妻国语| 久热这里只有精品99国产6| 精品久久久久中文字幕加勒比东京热 | 精品人妻无码一区二区三区蜜桃臀 | 秋霞伦理手机在线看片| 毛片免费观看| 浪货嗯啊趴下NP粗口黄暴| 久久热免费观看视频| 京香在线播放| 精品水蜜桃久久久久久久| 寂寞夜晚免费观看视频| 精品国产乱码久久久久久下载| 国产亚洲va在线电影| 国产三级多多影院| 国产在线高清视频| 火影忍者高清无码黄漫| 久久yy99re66|