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

Java 項目日志實例基礎:Log4j

這篇具有很好參考價值的文章主要介紹了Java 項目日志實例基礎:Log4j。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

點擊下方關注我,然后右上角點擊...“設為星標”,就能第一時間收到更新推送啦~~~

介紹幾個日志使用方面的基礎知識。

1

Log4j

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

1、Log4j 介紹

Log4j(log for java)是 Apache 的一個開源項目,通過使用 Log4j,我們可以控制日志信息輸出到日志文件、也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用程序的代碼。

2、Log4j 使用步驟說明

(1)選擇 jar 包

加入 log4j-1.2.17.jar 到 Libraries 下,如果使用 maven 項目,也可以選擇在 pom.xml 中新增依賴如下:

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

(2)log4j.properties 配置

Log4j 有三個主要組件:記錄器, appender 和布局。這三種類型的組件協(xié)同工作,使開發(fā)人員能夠根據消息類型和級別記錄消息,并在運行時控制這些消息的格式和報告位置。

Log4j 建議只使用四個級別,優(yōu)先級從高到低分別是 ERROR、WARN、INFO、DEBUG。

比如定義了 INFO 級別,只有等于及高于這個級別的才進行處理,則應用程序中所有 DEBUG 級別的日志信息將不被打印出來。ALL,打印所有的日志;OFF,關閉所有的日志輸出。

appenderName,就是指定日志信息輸出到哪個地方。可同時指定多個輸出目的地。

在 src 根目錄下建立 log4j.properties,根據自己的需求,相應的修改其中的配置,其內容如下所示:

#配置根Logger
#改代碼表示輸輸出info級別以上的日志,文件分別輸出,一個是file,一個是error
    log4j.rootLogger=info,file,error 
#配置file日志信息輸出目的地Appender
#定義名為file的輸出端是每天產生一個日志文件
    log4j.appender.file=org.apache.log4j.DailyRollingFileAppender    #指定日志信息的最低輸出級別位INFO,默認為DEBUG。
    log4j.appender.file.Threshold=INFO    #指定當前消息輸出到jpm/log4j/log.log文件中
    log4j.appender.file.File=/jpm/log4j/log.log    #指定按天來滾動日志文件
    log4j.appender.file.DatePattern=yyyy-MM-dd    #配置日志信息的格式(布局)Layout是可以靈活地指定布局模式
    log4j.appender.file.layout=org.apache.log4j.PatternLayout    #格式化日志,Log4j采用類似C語言中的printf函數的打印格式格式化日志信息
    log4j.appender.file.layout.ConversionPattern=[%d{yyyy-MM-ddHH:mm:ss}][%-5p][jpm-%c{1}-%M(%L)]-%m%n    #指定輸出信息的編碼
    log4j.appender.file.encoding=UTF-8
#配置error日志信息輸出目的地Appender
#定義名為error的輸出端是每天產生一個日志文件
    log4j.appender.error=org.apache.log4j.DailyRollingFileAppender    #指定日志信息的最低輸出級別位ERROR,默認為DEBUG。
    log4j.appender.error.Threshold=ERROR    #指定當前消息輸出到jpm/log4j/error.log文件中
    log4j.appender.error.File=/jpm/log4j/error.log    #指定按月來滾動日志文件
    log4j.appender.error.DatePattern=yyyy-MM    #配置日志信息的格式(布局)Layout是可以靈活地指定布局模式
    log4j.appender.error.layout=org.apache.log4j.PatternLayout    #格式化日志,Log4j采用類似C語言中的printf函數的打印格式格式化日志信息
    log4j.appender.error.layout.ConversionPattern=[%d{yyyy-MM-ddHH:mm:ss}][%-5p][jpm-%c{1}-%M(%L)]-%m%n    #指定輸出信息的編碼
    log4j.appender.error.encoding=UTF-8
#使某個功能的日志單獨輸出到指定的日志文件
    log4j.logger.saveUserLog=INFO,saveUserLog    #該配置就是讓job的日志只輸出到自己指定的日志文件中,表示Logger不會在父Logger的appender里輸出,默認為true。
    log4j.additivity.saveUserLog=false
    log4j.appender.saveUserLog=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.saveUserLog.File=/jpm/log4j/saveUserLog.log
    log4j.appender.saveUserLog.DatePattern=yyyy-MM-dd
    log4j.appender.saveUserLog.Append=true
    log4j.appender.saveUserLog.layout=org.apache.log4j.PatternLayout
    log4j.appender.saveUserLog.layout.ConversionPattern=%m%n
    log4j.appender.error.encoding=UTF-8

(3)輸出日志的代碼示例

package jpm;    
import org.apache.log4j.Logger;    
public class TestLog4j {        
public static void main(String[] args) {            
final Logger logger = Logger.getLogger(TestLog4j.class);            final Logger saveUserLog = Logger.getLogger("saveUserLog");            if (logger.isDebugEnabled()) {
    logger.debug("debug");
    logger.info("info");
    logger.error("error");
    saveUserLog.info("張三,男,26歲,北京大學,2018-05-19,學霸");
  }
}

4)以上代碼示例生成的日志文件及日志詳情

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

2

JUL (?java.util.logging

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

1、JUL(?java.util.logging) 介紹

Java Logging API 是 Sun 公司于 2002 年 5 月正式發(fā)布的。它是自 J2SE 1.4 版本開始提供的一個新的應用程序接口,JUL(在 java.util.logging 包下),需 JDK1.4 版本以上才能支持,java.util.logging.* 包是 JDK 的日志記錄 API。

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

強烈不推薦使用 java.util.logging 記錄日志,因此這里不提供對應示例。

3

java common logging

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

commons-logging 提供的是一個日志接口,是為那些需要建立在不同環(huán)境下使用不同日志架構的組件或庫的開發(fā)者創(chuàng)建的,其中包括 log4j 以及 Java log 的日志架構。commons-logging 有兩個基本的抽象類:Log(基本記錄器) 和 LogFactory(負責創(chuàng)建 Log 實例)。把日志信息抽象成 commons-logging 的 Log 接口,并由 commons-logging 在運行時決定使用哪種日志架構。因為 Log4j 的強大功能,commons-logging 一般會和 Log4j 一起使用,這幾乎成為了 Java 日志的標準工具。

4

SLF4J 介紹

Java 項目日志實例基礎:Log4j,java,log4j,開發(fā)語言

SLF4J 全稱為 Simple Logging Facade for JAVA,即 java 簡單日志門面。和 commons-loging 一樣也是對不同日志框架提供的一個門面封裝,可以在部署的時候不修改任何配置即可接入一種日志實現(xiàn)方案,能支持多個參數,并通過 {} 占位符進行替換。

看這個 Log4J 示例:? ?

Logger.debug("Hello " + name);

由于字符串拼接的問題(注:上述語句會先拼接字符串,再根據當前級別是否低于 debug 決定是否輸出本條日志,即使不輸出日志,字符串拼接操作也會執(zhí)行),因此許多公司一般強制使用下面的語句,這樣只有當前處于DEBUG級別時才會執(zhí)行字符串拼接:

if (logger.isDebugEnabled()) {
  LOGGER.debug(“Hello ” + name);
}

它避免了字符串拼接問題,可是有點太繁瑣了。而 SLF4J 提供下面這樣簡單的語法:

LOGGER.debug("Hello {}", name);

它的形式類似第一條示例,但是又沒有字符串拼接問題,也不像第二條那樣繁瑣。

正是因為 SLF4J 的這個占位符功能,使得人們越來越多的地使用 SLF4J 這個接口用到實際開發(fā)項目中。

為什么需要日志接口,直接使用具體的實現(xiàn)不就行了嗎?

接口用于定制規(guī)范,可以有多個實現(xiàn),使用時是面向接口的(導入的包都是 SLF4J 的包或者是 JCL 的包,而不是具體某個日志框架中的包),即直接和接口交互,不直接使用實現(xiàn),所以當需要更換實現(xiàn)的時候,直接更換實現(xiàn)就可以了,而不用更改代碼中的日志相關代碼。

比如:SLF4J 定義了一套日志接口,項目中使用的日志框架是 log4j,開發(fā)中調用的所有接口都是 SLF4J 的,不直接使用 log4j,項目應用調用 SLF4J 的接口,SLF4J 的接口去調用 log4j 的實現(xiàn),整個應用程序并沒有直接使用 log4j,當項目需要更換更加優(yōu)秀的日志框架時(如 logback)只需要引入 logback 的 jar 和 logback 對應的配置文件即可,完全不用更改 Java 代碼中的日志相關的代碼 logger.info(“hello world”),也不用修改日志相關的類的導入的包(import org.slf4j.Logger; import org.slf4j.LoggerFactory;)。

因此日志門面的使用,為后續(xù)具體日志系統(tǒng)的實現(xiàn)更換帶來了方便。

后面為大家介紹項目中的 Logback 使用示例。文章來源地址http://www.zghlxwxcb.cn/news/detail-658698.html

到了這里,關于Java 項目日志實例基礎:Log4j的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • logging.level的含義及設置 【java 日志 (logback、log4j)】

    日志級別 tracedebuginfowarnerrorfatal 常用的有:debug,info,warn,error 通常我們想設置日志級別,會用到?logging.level.root=info logging.level設置日志級別,后面跟生效的區(qū)域。root表示整個項目。 也可以寫某個包,或者某個類。 例如:logging.level.com.ali.service=error。在com.ali.service包下所有

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

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

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

    2024年02月07日
    瀏覽(26)
  • Spring Boot中集成各種日志框架Logback、Log4j2和Java Util Logging

    Spring Boot中集成各種日志框架Logback、Log4j2和Java Util Logging

    Spring Boot支持多種日志框架,包括Logback、Log4j2和Java Util Logging(JUL)。在Spring Boot中,可以通過簡單的配置來集成這些熱門的日志框架。 下面將詳細說明如何集成Logback、Log4j2和Java Util Logging,并提供相應的源代碼示例。 集成Logback: Logback是Spring Boot默認的日志框架,它提供了高

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

    【日志加載 log4j】

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

    2024年02月11日
    瀏覽(23)
  • java 項目配置slf4j - log4j2

    2024年02月13日
    瀏覽(24)
  • 使用Log4j與log4j2配置mybatisplus打印sql日志

    使用Log4j與log4j2配置mybatisplus打印sql日志

    環(huán)境:項目非完全spring項目,沒有spring的配置文件。執(zhí)行sql時老是不打印sql語句。因此進行修改,過程比較坎坷,記錄一下。 我嘗試使用log4j和log4j2進行配置 最終把這兩種全部配置記錄上 Log4j配置 如果項目用的是log4j需要進行配置打印sql的步驟 首先引入log4j的包 配置一下l

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

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

    2024年02月04日
    瀏覽(24)
  • 用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瘋狂寫日志問題排查

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

    2024年02月13日
    瀏覽(25)
  • Mybatis日志Log4j與Logback

    目錄 一、Log4j與Logback的區(qū)別? 發(fā)展歷史和維護 二、Slf4j 依賴 三、Logback使用 logback.xml配置文件 四、Log4j使用 五、查看日志內容 發(fā)展歷史和維護 Log4j是最早的Java日志框架之一,具有較長的歷史;然而Log4j 1.x版本在性能和并發(fā)性方面存在一些限制,并且已經停止維護。 Logbac

    2024年02月12日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包