Sau*_*nde 10 xml logging logback
我很想回归.如果我的春季启动项目包含两个文件 -
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如果我们部署应用程序,文件将优先考虑吗?
谢谢!
SAURABH
gly*_*ing 17
来自文档:
让我们首先讨论后续尝试配置自身的初始化步骤:
Logback尝试在类路径中查找名为logback-test.xml的文件.
如果未找到此类文件,则logback会尝试在类路径中查找名为logback.groovy的文件.
如果找不到这样的文件,它会检查类路径中的文件logback.xml.
如果没有找到这样的文件,则使用服务提供者加载工具(在JDK 1.6中引入)通过查找文件META-INF\services\ch来解析com.qos.logback.classic.spi.Configurator接口的实现.类路径中的qos.logback.classic.spi.Configurator.其内容应指定所需Configurator实现的完全限定类名.
如果以上都不成功,则logback将使用BasicConfigurator自动配置自身,这将导致日志记录输出定向到控制台.
最后一步是在没有配置文件的情况下提供默认(但非常基本)的日志记录功能的最后努力.
那么,这个问题的答案......
哪个优先:logback.xml还是logback-test.xml?
...是logback-test.xml.
但是,这个问题......
因此,如果我们部署应用程序,logback-test.xml文件将优先于logback.xml吗?
......稍微复杂一点.如果您同时部署两个logback-test.xml,logback.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.
| 归档时间: |
|
| 查看次数: |
3606 次 |
| 最近记录: |