欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SpringBoot日志控制的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)Spring Boot日志控制的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

為海陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及海陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、海陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

Spring Boot對(duì)日志的處理,和我們平時(shí)的日志處理完全一致,通過(guò)logback.xml進(jìn)行日志管理功能。為了簡(jiǎn)便,這里采用“Spring Boot構(gòu)建框架”一章節(jié)使用的工程,講述如何在Spring Boot中處理日志。

第一步,雖然Spring Boot中application.properties配置文件提供了日志的配置,但是個(gè)人更傾向于舊的配置方式。在src/main/resources目錄中增加logback.xml日志文件,文件內(nèi)容如下(配置相對(duì)簡(jiǎn)單,個(gè)人請(qǐng)根據(jù)工程情況,進(jìn)行相應(yīng)的配置):

<configuration scan="true" scanPeriod="10 seconds">
  <include resource="org/springframework/boot/logging/logback/base.xml" />

  <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${LOG_PATH}/info.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i
      </fileNamePattern>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>500MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
      <maxHistory>2</maxHistory>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
      </Pattern>
    </layout>
  </appender>

  <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>ERROR</level>
    </filter>
    <File>${LOG_PATH}/error.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${LOG_PATH}/error-%d{yyyyMMdd}.log.%i
      </fileNamePattern>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>500MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
      <maxHistory>2</maxHistory>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n

      </Pattern>
    </layout>
  </appender>
  
  <logger name="com.example" level="DEBUG">  
    <appender-ref ref="baselog" />  
  </logger>
  
  <root level="INFO">
    <appender-ref ref="INFO_FILE" />
    <appender-ref ref="ERROR_FILE" />
  </root>
  
</configuration>

注意:

1)控制臺(tái)和日志文件的字符集
2)日志文件的存放位置,須要遵守Linux的命名規(guī)則

第二步,在application.properties中指定logback.xml和日志生成的路徑,如下:

logging.config=classpath:logback.xml
logging.path=/workspace/log

第三步,新建HelloController類,具體內(nèi)容如下:

package com.example; 
 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
@RestController 
public class HelloController { 
 
  protected static Logger logger=LoggerFactory.getLogger(HelloController.class); 
   
  @RequestMapping("/") 
  public String helloworld(){ 
    logger.debug("訪問(wèn)hello"); 
    return "Hello world!"; 
  } 
   
  @RequestMapping("/hello/{name}") 
  public String helloName(@PathVariable String name){ 
    logger.debug("訪問(wèn) helloName,Name={}",name); 
    return "Hello "+name; 
  } 
}

注意:在添加引用時(shí),日志的包一定是org.slf4j.Logger、org.slf4j.LoggerFactory類。

第四步,測(cè)試

1)運(yùn)行主程序
2)在瀏覽器中依次輸入
http://localhost:8080/
http://localhost:8080/hello/素文宅博客
3)由于我的工程在D盤所有l(wèi)og日志文件所在的目錄找到D:/workspace/log文件夾下,日志文件的名稱是在配置文件logback.xml中設(shè)置的。

在application.properties可以配置日志相關(guān)屬性

控制臺(tái)輸出

日志級(jí)別從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設(shè)置為WARN,則低于WARN的信息都不會(huì)輸出。

Spring Boot中默認(rèn)配置ERROR、WARN和INFO級(jí)別的日志輸出到控制臺(tái)。您還可以通過(guò)啟動(dòng)您的應(yīng)用程序--debug標(biāo)志來(lái)啟用“調(diào)試”模式(開發(fā)的時(shí)候推薦開啟),以下兩種方式皆可:
1)在運(yùn)行命令后加入--debug標(biāo)志,如:$ java -jar springTest.jar --debug
2)在application.properties中配置debug=true,該屬性置為true的時(shí)候,核心Logger(包含嵌入式容器、hibernate、spring)會(huì)輸出更多內(nèi)容,但是你自己應(yīng)用的日志并不會(huì)輸出為DEBUG級(jí)別。

文件輸出

默認(rèn)情況下,Spring Boot將日志輸出到控制臺(tái),不會(huì)寫到日志文件。如果要編寫除控制臺(tái)輸出之外的日志文件,則需在application.properties中設(shè)置logging.file或logging.path屬性。
1)logging.file,設(shè)置文件,可以是絕對(duì)路徑,也可以是相對(duì)路徑。如:logging.file=my.log
2)logging.path,設(shè)置目錄,會(huì)在該目錄下創(chuàng)建spring.log文件,并寫入日志內(nèi)容,如:logging.path=/var/log
如果只配置logging.file,會(huì)在項(xiàng)目的當(dāng)前路徑下生成一個(gè) xxx.log 日志文件。如果只配置 logging.path,在 /var/log文件夾生成一個(gè)日志文件為 spring.log

注意:二者不能同時(shí)使用,如若同時(shí)使用,則只有l(wèi)ogging.file生效。默認(rèn)情況下,日志文件的大小達(dá)到10MB時(shí)會(huì)切分一次,產(chǎn)生新的日志文件,默認(rèn)級(jí)別為:ERROR、WARN、INFO。

級(jí)別控制

所有支持的日志記錄系統(tǒng)都可以在Spring環(huán)境中設(shè)置記錄級(jí)別(在application.properties中設(shè)置)
格式為:'logging.level.* = LEVEL'
logging.level:日志級(jí)別控制前綴,*為包名或Logger名
LEVEL:選項(xiàng)TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

實(shí)例:

logging.level.com.dudu=DEBUG:com.example包下所有class以DEBUG級(jí)別輸出
logging.level.root=WARN:root日志以WARN級(jí)別輸出

自定義日志配置

由于日志服務(wù)一般都在ApplicationContext創(chuàng)建前就初始化了,它并不是必須通過(guò)Spring的配置文件控制。因此通過(guò)系統(tǒng)屬性和傳統(tǒng)的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。

根據(jù)不同的日志系統(tǒng),你可以按如下規(guī)則組織配置文件名,就能被正確加載:

Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
Log4j2:log4j2-spring.xml, log4j2.xml
JDK (Java Util Logging):logging.properties

Spring Boot官方推薦優(yōu)先使用帶有-spring的文件名作為你的日志配置(使用logback-spring.xml名稱,而不是logback.xml名稱),命名為logback-spring.xml的日志配置文件,spring boot可以為它添加一些spring boot特有的配置項(xiàng)。

關(guān)于“Spring Boot日志控制的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

文章題目:SpringBoot日志控制的示例分析
路徑分享:http://chinadenli.net/article44/pdddhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序微信公眾號(hào)、服務(wù)器托管、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作