logback日志文件路径问题如何解决

  介绍

这篇文章给大家介绍logback日志文件路径问题如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1。对于J2SE项目,当前路径为工程所在目录

如我的工程为:D: \测试

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

2。对于J2EE项目,当前路径为tomcat \ bin所在目录

如我的tomcat路径为:D: \ bin \ tomcat

 logback日志文件路径问题如何解决

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

<强>补充:logback加载外部配置文件重置logback配置文件路径

logback加载外部配置文件重置logback配置文件路径

logback作为一种成熟的日志框架,已被广泛应用在现代各种java项目中。

以javaweb项目为例,使用logback.xml作为logback的配置文件时,在代码中通常是将该配置文件放在src/main/资源/下,部署时该文件会放在类路径下。

但是,有时出于各种目的,需要将logback的配置文件放在特定的目录下,此时需要自定义logback配置文件的加载路径。

logback自动加载配置文件的优先级如下:

1.类路径下的logback-test.xml

2.类路径下的logback.groovy

3.类路径下的logback.xml

4. meta - inf/services/ch.qos.logback.classic.spi。配置器中的logback配置实现类

5。logback自带的默认配置文件BasicConfigurator

当需要将日志配置文件放在其他路径下时,其实就是logback重新加载配置文件的过程。

参考代码如下:

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 记录仪;   ,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 文件(logbackConfigPath);   如果才能(! file.exists ())   {才能   logger.error才能(“logbackConfigPath  file  is  no  exist");   ,,}   else 才能;   {才能   如果才能(! file.isFile ())   {才能   logger.error才能(“logbackConfigPath  file  is  not  a  file");   ,,}   其他的才能   {才能   如果才能(! file.canRead ())   {才能   logger.error才能(“logbackConfigPath  file 还要not  read");   ,,}   其他的才能   {才能   JoranConfigurator 才能;JoranConfigurator =, new  JoranConfigurator ();   ,,,joranConfigurator.setContext (loggerContext);   ,,,loggerContext.reset ();   ,,,try  {   ,,,,joranConfigurator.doConfigure(文件);   ,,,},catch  (Exception  e), {   ,,,logger.error (“logbackConfigPath  Load  logback  config  file 错误只信息:,{}“,e.getMessage ());   ,,,}   ,,,StatusPrinter.printInCaseOfErrorsOrWarnings (loggerContext);   ,,}   ,,}   ,,}   ,}   }

<代码> System.getProperty (user.dir) 是获取你程序当前的运行路径,这里也可以把这段代码封装成一个方法,配置文件的路径可以以参数的形式传入,也可以写死。

关于logback日志文件路径问题如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

logback日志文件路径问题如何解决