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

解決logback的日志文件路徑問(wèn)題

 更新時(shí)間:2021年02月27日 10:21:20   作者:葉_子_X  
這篇文章主要介紹了解決logback的日志文件路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

假如使用絕對(duì)路徑,沒(méi)有任何問(wèn)題,就是移植性不太好。

假如使用相對(duì)路徑,則要注意當(dāng)前路徑“.”是在哪兒?

一般我們都會(huì)在配置文件中加入log文件的存儲(chǔ)目錄,如

本人通過(guò)研究測(cè)試發(fā)現(xiàn):

1.對(duì)于J2SE項(xiàng)目,當(dāng)前路徑為工程所在目錄

如我的工程為:D:\test

則使用…/logs生成的日志文件位于:D:\logs

2.對(duì)于J2EE項(xiàng)目,當(dāng)前路徑為tomcat\bin所在目錄

如我的tomcat路徑為:D:\tomcat\bin

則使用…/logs生成的日志文件位于:D:\tomcat\logs

補(bǔ)充:logback加載外部配置文件 重置logback配置文件路徑

logback加載外部配置文件 重置logback配置文件路徑

logback作為一種成熟的日志框架,已被廣泛應(yīng)用在現(xiàn)代各種java項(xiàng)目中。

以javaweb項(xiàng)目為例,使用logback.xml作為logback的配置文件時(shí),在代碼中通常是將該配置文件放在src/main/resource/下,部署時(shí)該文件會(huì)放在classpath下。

但是,有時(shí)出于各種目的,需要將logback的配置文件放在特定的目錄下,此時(shí)需要自定義logback配置文件的加載路徑。

logback自動(dòng)加載配置文件的優(yōu)先級(jí)如下:

1.classpath下的logback-test.xml

2.classpath下的logback.groovy

3.classpath下的logback.xml

4.META-INF/services/ch.qos.logback.classic.spi.Configurator中的 logback 配置實(shí)現(xiàn)類(lèi)

5.logback自帶的默認(rèn)配置文件BasicConfigurator

當(dāng)需要將日志配置文件放在其他路徑下時(shí),其實(shí)就是logback重新加載配置文件的過(guò)程。

參考代碼如下:

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.util.StatusPrinter;
import java.io.File;
public class LogTest
{
 private org.slf4j.Logger logger;
 private ch.qos.logback.classic.LoggerContext loggerContext;
 public LogTest()
 {
  logger = org.slf4j.LoggerFactory.getLogger(this.class);
  loggerContext = (LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory();
  String logbackConfigPath = System.getProperty("user.dir") + "/your_logback_config/logback.xml";
  File file = new File(logbackConfigPath);
  if(!file.exists())
  {
  logger.error("logbackConfigPath file is no exist");
  }
  else 
  {
  if(!file.isFile())
  {
  logger.error("logbackConfigPath file is not a file");
  }
  else
  {
  if(!file.canRead())
  {
  logger.error("logbackConfigPath file can not read");
  }
  else
  {
  JoranConfigurator joranConfigurator = new JoranConfigurator();
    joranConfigurator.setContext(loggerContext);
    loggerContext.reset();
    try {
     joranConfigurator.doConfigure(file);
    } catch (Exception e) {
    logger.error("logbackConfigPath Load logback config file error. Message: {}",e.getMessage());
    }
    StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
  }
  }
  }
 }
}

System.getProperty(“user.dir”) 是獲取你程序當(dāng)前的運(yùn)行路徑,這里也可以把這段代碼封裝成一個(gè)方法,配置文件的路徑可以以參數(shù)的形式傳入,也可以寫(xiě)死。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Spring使用@Autowired注解靜態(tài)實(shí)例對(duì)象方式

    Spring使用@Autowired注解靜態(tài)實(shí)例對(duì)象方式

    這篇文章主要介紹了Spring使用@Autowired注解靜態(tài)實(shí)例對(duì)象方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java內(nèi)存模型之重排序的相關(guān)知識(shí)總結(jié)

    Java內(nèi)存模型之重排序的相關(guān)知識(shí)總結(jié)

    重排序是指編譯器和處理器為了優(yōu)化性能而對(duì)指令序列進(jìn)行重新排序的一種手段,文中詳細(xì)介紹了Java重排序的相關(guān)知識(shí),需要的朋友可以參考下
    2021-06-06
  • 學(xué)習(xí)Java之如何對(duì)時(shí)間進(jìn)行格式化

    學(xué)習(xí)Java之如何對(duì)時(shí)間進(jìn)行格式化

    當(dāng)我們?cè)谀J(rèn)情況下構(gòu)造出來(lái)的時(shí)間對(duì)象,它的時(shí)間格式并不適合我們閱讀,并且在開(kāi)發(fā)時(shí),pc端、Android端、iOS端等展示的時(shí)間格式可能也并不完全一樣,本文就從這幾個(gè)問(wèn)題給大家介紹如何對(duì)時(shí)間進(jìn)行格式化,感興趣的同學(xué)可以借鑒一下
    2023-05-05
  • Java實(shí)現(xiàn)簡(jiǎn)易購(gòu)物系統(tǒng)

    Java實(shí)現(xiàn)簡(jiǎn)易購(gòu)物系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易購(gòu)物系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java基礎(chǔ)之三大控制流程結(jié)構(gòu)

    Java基礎(chǔ)之三大控制流程結(jié)構(gòu)

    這篇文章主要介紹了Java基礎(chǔ)之三大控制流程結(jié)構(gòu),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 講解ssm框架整合(最通俗易懂)

    講解ssm框架整合(最通俗易懂)

    這篇文章主要介紹了講解ssm框架整合(最通俗易懂),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot3和mybatis-plus整合出現(xiàn)的問(wèn)題解決辦法

    SpringBoot3和mybatis-plus整合出現(xiàn)的問(wèn)題解決辦法

    SpringBoot和MybatisPlus的整合可以讓我們更加方便地進(jìn)行數(shù)據(jù)庫(kù)操作,這篇文章主要給大家介紹了關(guān)于SpringBoot3和mybatisplus整合出現(xiàn)的一些問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • SpringBoot中@Conditional注解的使用

    SpringBoot中@Conditional注解的使用

    這篇文章主要介紹了SpringBoot中@Conditional注解的使用,@Conditional注解是一個(gè)條件裝配注解,主要用于限制@Bean注解在什么時(shí)候才生效,以指定的條件形式控制bean的創(chuàng)建,需要的朋友可以參考下
    2024-01-01
  • Spring中的事務(wù)操作、注解及XML配置詳解

    Spring中的事務(wù)操作、注解及XML配置詳解

    這篇文章主要給大家介紹了關(guān)于Spring中事務(wù)操作、注解及XML配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Spring Data JPA進(jìn)行數(shù)據(jù)分頁(yè)與排序的方法

    Spring Data JPA進(jìn)行數(shù)據(jù)分頁(yè)與排序的方法

    這篇文章主要介紹了Spring Data JPA進(jìn)行數(shù)據(jù)分頁(yè)與排序的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論