logback日志文件路径问题如何解决
这篇文章给大家介绍logback日志文件路径问题如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
对于J2SE项目,当前路径为工程所在目录
如我的工程为:D:\test
则使用…/logs生成的日志文件位于:D:\logs
2.对于J2EE项目,当前路径为tomcat\bin所在目录
如我的tomcat路径为:D:\tomcat\bin
则使用…/logs生成的日志文件位于:D:\tomcat\logs
补充:logback加载外部配置文件 重置logback配置文件路径
logback加载外部配置文件 重置logback配置文件路径
logback作为一种成熟的日志框架,已被广泛应用在现代各种java项目中。
以javaweb项目为例,使用logback.xml作为logback的配置文件时,在代码中通常是将该配置文件放在class="lazy" data-src/main/resource/下,部署时该文件会放在classpath下。
但是,有时出于各种目的,需要将logback的配置文件放在特定的目录下,此时需要自定义logback配置文件的加载路径。
logback自动加载配置文件的优先级如下:
classpath下的logback-test.xml
classpath下的logback.groovy
classpath下的logback.xml
META-INF/services/ch.qos.logback.classic.spi.Configurator中的 logback 配置实现类
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 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”)
是获取你程序当前的运行路径,这里也可以把这段代码封装成一个方法,配置文件的路径可以以参数的形式传入,也可以写死。
关于logback日志文件路径问题如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341