" />

亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

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

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

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

1. Java.util.Logger

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

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

// 嚴(yán)重信息
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);}

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

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

// 級(jí)別最小信息
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("嚴(yán)重信息");
        logger.warning("警示信息");
        logger.info("info信息");

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

輸出截圖如下:

可以看到小于info級(jí)別的信息不會(huì)在終端上顯示輸出

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

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

// 嚴(yán)重信息
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);}

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

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

// 級(jí)別最小信息
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錯(cuò)誤");
        logger.error("error錯(cuò)誤");
        logger.warn("warn警示");
        logger.info("info基本信息");
        logger.debug("debug調(diào)試");
        logger.trace("trace 信息");
    }
}

輸出結(jié)果如下:

其方法大致都有如下:

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

3. org.slf4j.Logger

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

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

在xml文件中引入依賴包

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

如果不引入或者引入錯(cuò)誤
會(huì)出現(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錯(cuò)誤");
        logger.warn("warn警示");
        logger.info("info基本信息");
        logger.debug("debug調(diào)試");
        logger.trace("trace信息");
    }
}

截圖如下:

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

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

相關(guān)文章

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

    Mybatis動(dòng)態(tài)拼接sql提高插入速度實(shí)例

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

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

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

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

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

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

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

    淺談spring方法級(jí)參數(shù)校驗(yàn)(@Validated)

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

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

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

    Java?超詳細(xì)講解Spring?MVC異常處理機(jī)制

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

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

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

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

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

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

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

最新評(píng)論