" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java常見log日志的使用方法解析

 更新時間:2022年07月11日 08:36:15   作者:碼農(nóng)研究僧  
本文主要介紹了java常見log日志的使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

log日志可以debug錯誤或者在關(guān)鍵位置輸出想要的結(jié)果

java日志使用一般有原生logger、log4j、Slf4j等

一般的日志級別都有如下(不同日志不一樣的方法參數(shù),注意甄別)

參數(shù)描述
OFF、ON不輸出或者輸出所有級別信息,通常使用在setLevel方法中
FATAL致命錯誤
ERROR錯誤error
WARN告警信息
INFOinfo信息
DEBUG調(diào)試信息
TRACE運行軌跡信息
CONFIG設(shè)定配置信息
FINE級別輕微信息
FINER級別更輕微信息
FINEST級別最輕微信息

1. Java.util.Logger

科普一下原生日志生成工具,主要引用import java.util.logging.Logger;

源代碼函數(shù)大致有如下方法:
(給定消息將被轉(zhuǎn)發(fā)到所有注冊的輸出處理程序?qū)ο螅?/p>

// 嚴重信息
public void severe(String msg) { log(Level.SEVERE, msg);}

// 警告信息
public void warning(String msg) { log(Level.WARNING, msg);}

// info信息
 public void info(String msg) {log(Level.INFO, msg);}

// 設(shè)定配置信息
public void config(String msg) {log(Level.CONFIG, msg);}

// 級別小信息
public void fine(String msg) {log(Level.FINE, msg);}

// 級別更小信息
public void finer(String msg) {log(Level.FINE, msg);}

// 級別最小信息
public void finest(String msg) {log(Level.FINE, msg);}

具體示例如下:

package com.gaokaoli.logger;
import java.util.logging.Logger;

public class text1 {
    public static void main(String []args){
        Logger logger = Logger.getLogger("text1");

        logger.severe("嚴重信息");
        logger.warning("警示信息");
        logger.info("info信息");

        logger.config("設(shè)定配置信息");
        logger.fine("級別小的信息");
        logger.finer("級別更小的信息");
        logger.finest("級別最小的信息");
    }
}

輸出截圖如下:

可以看到小于info級別的信息不會在終端上顯示輸出

通過logger.setLevel(Level.ALL);來控制輸出的級別。
ALL則輸出severe、warning以及info,OF不輸出,如果設(shè)置WARNING,則只輸出severe以及warning;同理可推其他設(shè)置;

方法中也有通過調(diào)用提供的供應(yīng)商函數(shù)來構(gòu)造消息,并將其轉(zhuǎn)發(fā)到所有注冊的輸出處理程序?qū)ο蟆?/p>

// 嚴重信息
public void severe(Supplier<String> msgSupplier) {log(Level.SEVERE, msgSupplier);}

// 警告信息
public void warning(Supplier<String> msgSupplier) {log(Level.WARNING, msgSupplier);}

// info信息
 public void info(Supplier<String> msgSupplier) {log(Level.INFO, msgSupplier); }

// 設(shè)定配置信息
public void config(Supplier<String> msgSupplier) {log(Level.CONFIG, msgSupplier);}

// 級別小信息
public void fine(Supplier<String> msgSupplier) {log(Level.FINE, msgSupplier);}

// 級別更小信息
public void finer(Supplier<String> msgSupplier) {log(Level.FINER, msgSupplier);}

// 級別最小信息
public void finest(Supplier<String> msgSupplier) {log(Level.FINEST, msgSupplier);}

2. org.apache.logging.log4j

在xml文件中導(dǎo)入依賴包

<dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-api</artifactId>
       <version>2.14.1</version>
</dependency>

<dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-core</artifactId>
       <version>2.14.1</version>
</dependency>

示例代碼如下:

package com.gaokaoli.logger;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


public class test3 {
    public static void main(String []args){
        Logger logger = LogManager.getLogger("text3");
        logger.fatal("fatal錯誤");
        logger.error("error錯誤");
        logger.warn("warn警示");
        logger.info("info基本信息");
        logger.debug("debug調(diào)試");
        logger.trace("trace 信息");
    }
}

輸出結(jié)果如下:

其方法大致都有如下:

具體使用什么方法可對應(yīng)查看

3. org.slf4j.Logger

目前主流的日志框架,可以使用占位符進行參數(shù)占位

主要通過slf4j作為日志輸出
在每個類的開頭都加入如下:

在xml文件中引入依賴包

<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-simple</artifactId>
	<version>1.7.25</version>
	<scope>compile</scope>
</dependency>

如果不引入或者引入錯誤
會出現(xiàn)如下問題:出現(xiàn)SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的解決方法

代碼中通過引用通過

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

具體示例代碼如下:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class text2 {
    public static final Logger logger = LoggerFactory.getLogger(text2.class);
    public static void main(String []args){
        logger.error("error錯誤");
        logger.warn("warn警示");
        logger.info("info基本信息");
        logger.debug("debug調(diào)試");
        logger.trace("trace信息");
    }
}

截圖如下:

通過輸出結(jié)果可看到
LoggerFactory.getLogger輸出的結(jié)果帶有類的相對路徑,便于開發(fā)

到此這篇關(guān)于java常見log日志的使用方法解析的文章就介紹到這了,更多相關(guān)java常見log日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis動態(tài)拼接sql提高插入速度實例

    Mybatis動態(tài)拼接sql提高插入速度實例

    這篇文章主要介紹了Mybatis動態(tài)拼接sql提高插入速度實例,當(dāng)數(shù)據(jù)量少的時候,沒問題,有效時間內(nèi)可能完成插入,但是當(dāng)數(shù)據(jù)量達到一定程度的時候,每次都一個sql插入超時,所以采用了拼接sql的方式加快速度,需要的朋友可以參考下
    2023-09-09
  • java中如何執(zhí)行xshell命令

    java中如何執(zhí)行xshell命令

    這篇文章主要介紹了java中如何執(zhí)行xshell命令,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java模擬新浪微博登陸抓取數(shù)據(jù)

    Java模擬新浪微博登陸抓取數(shù)據(jù)

    本文主要介紹了Java模擬新浪微博登陸抓取數(shù)據(jù)的實現(xiàn)方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • java equals和=,==的區(qū)別詳細介紹

    java equals和=,==的區(qū)別詳細介紹

    這篇文章主要介紹了java equals和=,==的區(qū)別,學(xué)習(xí)Java的朋友對equals 和== 這個概念開始使用的時候會有疑問,很難辨別如何正確使用,這里幫大家詳細講解該知識點,希望大家能掌握,有需要的小伙伴可以參考下
    2016-10-10
  • 淺談spring方法級參數(shù)校驗(@Validated)

    淺談spring方法級參數(shù)校驗(@Validated)

    這篇文章主要介紹了淺談spring方法級參數(shù)校驗(@Validated),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中shiro框架和security框架的區(qū)別

    Java中shiro框架和security框架的區(qū)別

    這篇文章主要介紹了Java中shiro框架和security框架的區(qū)別,shiro和security作為兩款流行的功能強大的且易于使用的java安全認證框架,在近些年中的項目開發(fā)過程中使用廣泛,今天我們就來一起了解一下兩者的區(qū)別
    2023-08-08
  • Java?超詳細講解Spring?MVC異常處理機制

    Java?超詳細講解Spring?MVC異常處理機制

    Spring?MVC中提供了一個通用的異常處理機制,它提供了一個成熟、簡潔并且清晰的異常處理方案。當(dāng)使用Spring?MVC開發(fā)Web應(yīng)用時,利用這套現(xiàn)成的機制進行異常處理也更加自然并且高效
    2022-04-04
  • Java BigDecimal解決double精度丟失的問題

    Java BigDecimal解決double精度丟失的問題

    我們在日常開發(fā)中, 有很多時候會遇到小數(shù)(double類型)精確計算,本文主要介紹了Java BigDecimal解決double精度丟失的問題,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • java實現(xiàn)批量下載 多文件打包成zip格式下載

    java實現(xiàn)批量下載 多文件打包成zip格式下載

    這篇文章主要為大家詳細介紹了java實現(xiàn)批量下載、將多文件打包成zip格式下載,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • java使用篩選法求n以內(nèi)的素數(shù)示例(java求素數(shù))

    java使用篩選法求n以內(nèi)的素數(shù)示例(java求素數(shù))

    這篇文章主要介紹了java使用篩選法求n以內(nèi)的素數(shù)示例(java求素數(shù)),需要的朋友可以參考下
    2014-04-04

最新評論