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

java日志LoggerFactory.getLogger的用法及說明

 更新時(shí)間:2023年02月25日 10:11:12   作者:滑稽的鼠標(biāo)  
這篇文章主要介紹了java日志LoggerFactory.getLogger的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

LoggerFactory.getLogger可以在IDE控制臺(tái)打印日志,便于開發(fā),一般加在最上面:

使用:

//調(diào)試日志
    private final static Logger logger = LoggerFactory.getLogger(xxxController.class);

優(yōu)點(diǎn):使用指定類初始化日志對(duì)象,在日志輸出的時(shí)候,可以打印出日志信息所在類

logger日志的幾個(gè)方法

logger.debug、logger.info、logger.warn、logger.error、logger.fatal 的區(qū)別:

  • 相同處:

它們的作用都是把錯(cuò)誤信息寫到文本日志里

  • 不同的是它們表示的日志級(jí)別不同:

日志級(jí)別由高到底是:fatal -> error -> warn -> info -> debug,低級(jí)別的會(huì)輸出高級(jí)別的信息,高級(jí)別的不會(huì)輸出低級(jí)別的

信息,如等級(jí)設(shè)為Error的話,warn,info,debug的信息不會(huì)輸出

修改日志輸出的級(jí)別要在log4j文件中進(jìn)行配置

項(xiàng)目正式發(fā)布后,一般會(huì)把日志級(jí)別設(shè)置為fatal或者error

demo例子

package wwfww.warehouse.aaaaa;

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

/**
 * @version Revision 1.0.0
 * @版權(quán):版權(quán)所有 (c) 2018
 * @see:
 * @創(chuàng)建日期:2020年3月2日 @功能說明: @begin
 * @修改記錄:
 * @修改后版本 修改人 修改內(nèi)容
 * @2020年3月2日 liuyu 創(chuàng)建
 * @end
 */
public class LoggerFactoryDemo {
    private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFactoryDemo.class);

    public static void main(String[] args) {
        for (int i=0;i<5;i++){
            LOGGER.info("這是一條數(shù)據(jù)"+i);
        }
    }
}

控制臺(tái)輸出

13:58:52.913 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù)0
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù)1
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù)2
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù)3
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù)4

可以看到控制臺(tái)日志輸出的時(shí)候,打印出日志信息所在類

也可以用在try catch中:

try{
......
} catch (IOException e) {
            logger.info("錯(cuò)誤信息:" + e.getMessage());
            return new Result(e.getMessage());
        }

在日志輸出時(shí),字符串變量之間的拼接使用占位符的方式

說明:因?yàn)?String 字符串的拼接會(huì)使用 StringBuilder 的 append()方式,有一定的性能損耗。使用占位符僅是替換動(dòng)作,可以有效提升性能。

打印json數(shù)據(jù)

新建entity

package wwfww.warehouse.aaaaa;

import javax.xml.crypto.Data;
import java.util.Date;

/**
 * @version Revision 1.0.0
 * @版權(quán):版權(quán)所有 (c) 2018
 * @see:
 * @創(chuàng)建日期:2020年3月2日 @功能說明: @begin
 * @修改記錄:
 * @修改后版本 修改人 修改內(nèi)容
 * @2020年3月2日 liuyu 創(chuàng)建
 * @end
 */
public class DemoEntity {
    public String name;
    public String address;
    public Date birthday;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

package wwfww.warehouse.aaaaa;

import com.alibaba.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * @version Revision 1.0.0
 * @版權(quán):版權(quán)所有 (c) 2018
 * @see:
 * @創(chuàng)建日期:2020年3月2日 @功能說明: @begin
 * @修改記錄:
 * @修改后版本 修改人 修改內(nèi)容
 * @2020年3月2日 liuyu 創(chuàng)建
 * @end
 */
public class LoggerFactoryDemo {
    private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFactoryDemo.class);


    public static void main(String[] args) {
        for (int i=0;i<5;i++){
            DemoEntity entity = getDemoEntity(i);
            LOGGER.info("這是一條數(shù)據(jù):{}", JSON.toJSONString(entity));
        }
        for (int i=0;i<5;i++){
            DemoEntity entity = getDemoEntity(i);
            LOGGER.info("{}:也可以是前面", JSON.toJSONString(entity));
        }
    }
    private static DemoEntity getDemoEntity(int i){
        DemoEntity demoEntity = new DemoEntity();
        demoEntity.setName("小明"+i+"號(hào)");
        demoEntity.setAddress("北京胡同"+2+"街道");
        demoEntity.setBirthday(new Date());
        return demoEntity;
    }
}

控制臺(tái)輸出:

14:27:42.161 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù):{"address":"北京胡同2街道","birthday":1587882461879,"name":"小明0號(hào)"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù):{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明1號(hào)"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù):{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明2號(hào)"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù):{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明3號(hào)"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 這是一條數(shù)據(jù):{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明4號(hào)"}
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明0號(hào)"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明1號(hào)"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明2號(hào)"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明3號(hào)"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明4號(hào)"}:也可以是前面

注:

使用JSON.toJSONString要添加阿里的依賴

		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.57</version>
        </dependency>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 新手入門了解ArrayList擴(kuò)容機(jī)制

    新手入門了解ArrayList擴(kuò)容機(jī)制

    這篇文章主要介紹了新手入門了解ArrayList擴(kuò)容機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java如何重寫object類的equals方法詳解

    Java如何重寫object類的equals方法詳解

    這篇文章主要給大家介紹了關(guān)于Java如何重寫object類的equals方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 2022版IDEA創(chuàng)建一個(gè)maven項(xiàng)目的超詳細(xì)圖文教程

    2022版IDEA創(chuàng)建一個(gè)maven項(xiàng)目的超詳細(xì)圖文教程

    IDEA是用于java語言開發(fā)的集成環(huán)境,并且經(jīng)常用于maven、spring、MyBatis等項(xiàng)目的開發(fā),下面這篇文章主要給大家介紹了關(guān)于2022版IDEA創(chuàng)建一個(gè)maven項(xiàng)目的超詳細(xì)圖文教程,需要的朋友可以參考下
    2023-02-02
  • Spring?Framework六種常見設(shè)計(jì)模式

    Spring?Framework六種常見設(shè)計(jì)模式

    設(shè)計(jì)模式是軟件開發(fā)的重要組成部分,本文借助spring來講解這個(gè)框架的設(shè)計(jì)模式,通過本文我們探討了spring如何利用這些模式來提供這些豐富的功能,對(duì)本文感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • SpringSecurity如何配置跨域訪問

    SpringSecurity如何配置跨域訪問

    這篇文章主要介紹了SpringSecurity如何配置跨域訪問方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • hibernate5.2的基本配置方法(詳解)

    hibernate5.2的基本配置方法(詳解)

    下面小編就為大家?guī)硪黄猦ibernate5.2的基本配置方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 在idea里如何調(diào)整maven內(nèi)存

    在idea里如何調(diào)整maven內(nèi)存

    這篇文章主要介紹了在idea里如何調(diào)整maven內(nèi)存問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • spring簡(jiǎn)單MVC實(shí)現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加)

    spring簡(jiǎn)單MVC實(shí)現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加)

    這篇文章主要介紹了spring簡(jiǎn)單MVC實(shí)現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加),方法參數(shù)使用包括在無注解下獲取參數(shù),使用@RequestParam 獲取參數(shù)的方法,每種方法講解的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 淺談Java利用表格模型創(chuàng)建表格

    淺談Java利用表格模型創(chuàng)建表格

    這篇文章主要介紹了Java利用表格模型創(chuàng)建表格,需要的朋友可以參考下
    2017-09-09
  • 在IntelliJ IDEA中使用gulp的方法步驟(圖文)

    在IntelliJ IDEA中使用gulp的方法步驟(圖文)

    這篇文章主要介紹了在IntelliJ IDEA中使用gulp的方法步驟(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01

最新評(píng)論