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

SpringBoot使用JUL實(shí)現(xiàn)日志記錄功能

 更新時(shí)間:2023年06月25日 10:40:40   作者:程序媛-徐師姐  
在SpringBoot中,我們可以使用多種日志框架進(jìn)行日志記錄,其中,JUL(Java Util Logging)是Java平臺(tái)自帶的日志框架,它提供了簡(jiǎn)單的 API 和配置,可以輕松地進(jìn)行日志記錄,本文將介紹如何在 SpringBoot中使用JUL進(jìn)行日志記錄,并提供示例代碼

SpringBoot如何使用 JUL 進(jìn)行日志記錄

配置 JUL

默認(rèn)情況下,Spring Boot 使用 Logback 作為其日志框架。如果想要使用 JUL 進(jìn)行日志記錄,需要進(jìn)行一些配置。首先,我們需要在 pom.xml 文件中添加以下依賴:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jul-to-slf4j</artifactId>
  <version>1.7.30</version>
</dependency>

在上面的依賴中,我們排除了默認(rèn)的日志框架依賴 spring-boot-starter-logging,并添加了 Jetty 服務(wù)器的依賴。此外,我們還添加了 jul-to-slf4j 的依賴,它將 JUL 日志記錄器轉(zhuǎn)換為 SLF4J 日志記錄器,方便在 Spring Boot 中使用。

接下來,我們需要在 application.properties 文件中添加以下配置:

logging.level.root=INFO
logging.level.org.springframework=INFO
logging.level.org.hibernate=INFO
logging.level.com.example=FINEST
logging.config=classpath:logging.properties

在上面的配置中,我們指定了日志級(jí)別和日志配置文件的位置。logging.level.root 表示根記錄器的日志級(jí)別,logging.level.org.springframework 表示 Spring 框架的日志級(jí)別,logging.level.org.hibernate 表示 Hibernate 框架的日志級(jí)別,logging.level.com.example 表示我們自己的應(yīng)用程序的日志級(jí)別。在這里,我們將自己的應(yīng)用程序的日志級(jí)別設(shè)置為 FINEST,表示記錄最詳細(xì)的日志。logging.config 表示日志配置文件的位置,我們將其設(shè)置為 classpath:logging.properties。

接下來,我們需要?jiǎng)?chuàng)建一個(gè)名為 logging.properties 的文件,用于配置 JUL。在該文件中,我們可以配置 JUL 的日志級(jí)別、輸出目標(biāo)、格式化器和過濾器等選項(xiàng)。以下是一個(gè)簡(jiǎn)單的示例:

handlers=java.util.logging.ConsoleHandler
.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

在上面的配置中,我們指定了日志級(jí)別、輸出目標(biāo)和格式化器。handlers 指定了輸出目標(biāo),這里我們將日志輸出到控制臺(tái)。.level 表示根記錄器的日志級(jí)別,java.util.logging.ConsoleHandler.level 表示控制臺(tái)輸出目標(biāo)的日志級(jí)別,java.util.logging.ConsoleHandler.formatter 表示控制臺(tái)輸出目標(biāo)的格式化器,這里我們使用了 SimpleFormatter。

在SpringBoot中使用 JUL

在配置好 JUL 后,我們就可以在 Spring Boot 中使用 JUL 進(jìn)行日志記錄了。首先,我們需要在類中創(chuàng)建一個(gè)名為 logger 的日志記錄器,例如:

private static final Logger logger = Logger.getLogger(DemoController.class.getName());

在上面的代碼中,我們使用 Logger.getLogger 方法創(chuàng)建了一個(gè)名為 logger 的日志記錄器,指定了該記錄器所在的類的名稱。

接下來,我們可以使用日志記錄器記錄日志。例如:

logger.info("This is an info message.");

在上面的代碼中,我們使用 logger.info 方法記錄了一條信息級(jí)別的日志。

JUL 支持多種日志級(jí)別,包括 SEVERE、WARNING、INFOCONFIG、FINE、FINER 和 FINEST 等級(jí)別。可以根據(jù)實(shí)際需求選擇合適的日志級(jí)別進(jìn)行記錄。

此外,JUL 還支持使用占位符記錄日志,例如:

String message = "Hello, {}!";
String name = "world";
logger.info(message, name);

在上面的代碼中,我們使用占位符 {} 表示需要在日志中替換的部分,然后在日志記錄方法中傳入需要替換的值。這種方式可以避免拼接字符串帶來的性能問題,也可以避免因?yàn)樽址唇映鲥e(cuò)導(dǎo)致的日志輸出不正確的問題。

示例代碼

下面是一個(gè)完整的示例代碼,演示如何在 Spring Boot 中使用 JUL 進(jìn)行日志記錄:

import java.util.logging.Logger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
    private static final Logger logger = Logger.getLogger(DemoController.class.getName());
    @GetMapping("/hello")
    public String hello() {
        logger.info("This is an info message.");
        String message = "Hello, {}!";
        String name = "world";
        logger.info(message, name);
        return "Hello, world!";
    }
}

在上面的代碼中,我們創(chuàng)建了一個(gè)名為 DemoController 的 Spring MVC 控制器,其中包含了一個(gè)名為 hello 的處理器方法。在該方法中,我們使用了上面介紹的方法記錄了兩條信息級(jí)別的日志,并返回了一個(gè)字符串。

總結(jié)

在本文中,我們介紹了如何在 Spring Boot 中使用 JUL 進(jìn)行日志記錄,并提供了示例代碼。JUL 是 Java 平臺(tái)自帶的日志框架,提供了簡(jiǎn)單的 API 和配置,可以輕松地進(jìn)行日志記錄。通過配置和使用 JUL,我們可以更加方便地進(jìn)行日志記錄,提高應(yīng)用程序的可維護(hù)性和可靠性。

以上就是SpringBoot使用JUL實(shí)現(xiàn)日志記錄功能的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot JUL日志記錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java比較兩個(gè)對(duì)象是否相等的方法

    Java比較兩個(gè)對(duì)象是否相等的方法

    這篇文章主要介紹了Java比較兩個(gè)對(duì)象是否相等的方法,文中給出了三種方法,并通過代碼講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • Java中絕對(duì)值函數(shù)的介紹與其妙用

    Java中絕對(duì)值函數(shù)的介紹與其妙用

    這篇文章主要給大家介紹了Java中絕對(duì)值函數(shù)的介紹與其妙用,其中包括絕對(duì)值函數(shù)用來獲取表達(dá)式的絕對(duì)值和絕對(duì)值函數(shù)實(shí)現(xiàn)降序+升序輸出。文章末尾給出了實(shí)例介紹,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-01-01
  • 手把手教你SpringBoot整合Mybatis

    手把手教你SpringBoot整合Mybatis

    這篇文章主要介紹了手把手教你SpringBoot整合Mybatis,Mybatis是一款持久化框架,可以幫我們省去大部分jdbc的代碼,需要的朋友可以參考下
    2023-03-03
  • 自帶IDEA插件的阿里開源診斷神器Arthas線上項(xiàng)目BUG調(diào)試

    自帶IDEA插件的阿里開源診斷神器Arthas線上項(xiàng)目BUG調(diào)試

    這篇文章主要為大家介紹了自帶IDEA插件阿里開源診斷神器Arthas線上項(xiàng)目BUG調(diào)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Spring-Cloud Eureka注冊(cè)中心實(shí)現(xiàn)高可用搭建

    Spring-Cloud Eureka注冊(cè)中心實(shí)現(xiàn)高可用搭建

    這篇文章主要介紹了Spring-Cloud Eureka注冊(cè)中心實(shí)現(xiàn)高可用搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Spring中的事務(wù)攔截器順序如何控制詳解

    Spring中的事務(wù)攔截器順序如何控制詳解

    這篇文章主要介紹了Spring中的事務(wù)攔截器順序如何控制詳解,那么spring事務(wù)攔截器的順序如何控制呢,若我們自己也添加了一些攔截器,此時(shí)事務(wù)攔截器和自定義攔截器共存的時(shí)候,他們的順序是怎么執(zhí)行的?如何手動(dòng)來控制他們的順序,需要的朋友可以參考下
    2024-01-01
  • Java 值傳遞和引用傳遞詳解及實(shí)例代碼

    Java 值傳遞和引用傳遞詳解及實(shí)例代碼

    這篇文章主要介紹了 Java 值傳遞和引用傳遞詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Springboot 掃描mapper接口的2種操作

    Springboot 掃描mapper接口的2種操作

    這篇文章主要介紹了Springboot 掃描mapper接口的2種操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java1.8中StringJoiner的使用及源碼詳析

    Java1.8中StringJoiner的使用及源碼詳析

    在看String類時(shí),看到有使用StringJoiner類,所以順便看了下StringJoiner類,下面這篇文章主要給大家介紹了關(guān)于Java 1.8中StringJoiner的使用及源碼分析的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-08-08
  • springAOP的三種實(shí)現(xiàn)方式示例代碼

    springAOP的三種實(shí)現(xiàn)方式示例代碼

    這篇文章主要介紹了springAOP的三種實(shí)現(xiàn)方式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論