首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个优先: logback.xml还是logback-test.xml?

哪个优先: logback.xml还是logback-test.xml?
EN

Stack Overflow用户
提问于 2018-05-28 06:15:53
回答 1查看 13.6K关注 0票数 21

我对logback很陌生。如果我的spring引导项目包含了这两个文件-

  • logback.xml:出现在*src/main/resources/
  • logback-test.xml:出现在*src/test/resources/

哪一个会加载?logback.xml还是logback-test.xml

我正在阅读logback的文档,它说,它首先查找logback-test.xml,然后查找logback.xml

那么,如果我们部署应用程序,logback-test.xml文件会比logback.xml具有优先权吗?

谢谢!

索拉布

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 08:12:02

来自医生们

让我们首先讨论logback尝试配置自身的初始化步骤:

  1. Logback试图在类路径中找到一个名为logback-test.xml的文件。
  2. 如果没有找到这样的文件,logback将尝试在类路径中找到一个名为logback.groovy的文件。
  3. 如果没有找到这样的文件,它将检查类路径中的文件logback.xml。
  4. 如果没有找到这样的文件,则使用服务提供者加载工具(在JDK1.6中引入)通过在类路径中查找文件META-INF\services\ch.qos.logback.classic.spi.Configurator来解析com.qos.logback.classic.spi.Configurator接口的实现。其内容应指定所需Configurator实现的完全限定类名。
  5. 如果上述任何操作都没有成功,则logback将使用BasicConfigurator自动配置自己,这将导致日志输出被定向到控制台。

最后一步是在没有配置文件的情况下提供默认(但非常基本)日志功能的最后一步。

所以这个问题的答案..。

哪个优先: logback.xml还是logback-test.xml?

..。是logback-test.xml.

但是这个问题..。

那么,如果我们部署应用程序,是否类似于logback-test.xml文件将获得比logback.xml更高的优先级?

..。稍微使事情复杂化。如果同时部署( logback-test.xmllogback.xml ),那么logback-test.xml将占据优先权,但部署logback-test.xml并不常见。实际上,考虑到问题中提供的位置,logback-test.xml在默认情况下不会被部署,因为它位于测试树(src/test/resources)中。

再一次,来自医生们

如果您正在使用Maven,并且将logback-test.xml放在src/test/resources文件夹下,Maven将确保它不会包含在所产生的工件中。因此,您可以在测试期间使用不同的配置文件,即logback-test.xml,在生产中使用另一个文件,即logback.xml。

因此,总之,默认情况下不会部署logback-test.xml,因此logback.xml将在部署的系统中使用,但是在运行测试用例时,logback-test.xml将优先于logback.xml

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50560184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档