溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java日志LoggerFactory.getLogger怎么使用

發(fā)布時間:2023-02-25 11:37:56 來源:億速云 閱讀:105 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“java日志LoggerFactory.getLogger怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“java日志LoggerFactory.getLogger怎么使用”吧!

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

使用:

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

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

logger日志的幾個方法

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

  • 相同處:

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

  • 不同的是它們表示的日志級別不同:

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

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

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

項目正式發(fā)布后,一般會把日志級別設(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);
        }
    }
}

控制臺輸出

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

可以看到控制臺日志輸出的時候,打印出日志信息所在類

也可以用在try catch中:

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

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

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

打印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+"號");
        demoEntity.setAddress("北京胡同"+2+"街道");
        demoEntity.setBirthday(new Date());
        return demoEntity;
    }
}

控制臺輸出:

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

注:

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

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

到此,相信大家對“java日志LoggerFactory.getLogger怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI