目前,当我执行代码时,它不会创建任何日志文件。 logback.xml配置正常,但是我没有看到配置xml文件的位置的方法
答案 0 :(得分:0)
根据Logback manual chapter on Configuration:
让我们首先讨论尝试配置自身后面的logback的初始化步骤:
- 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放在" normal"的类路径中。运行,并在类路径中有一个logback-test.xml来描述在运行自动化测试时如何记录。 (例如,您可能希望在常规应用程序中记录到一个文件,但是让自动单元测试只需登录到控制台。)将文件放入类路径的确切过程取决于您使用的构建系统使用。例如,使用流行的Maven构建系统中的默认设置,您可以将logback.xml放在src/main/resources
内,并在src/test/resources
内放置(如果需要)logback-test.xml。如果您在执行此步骤时遇到问题,则可能需要搜索或询问另一个问题,其中包含有关您正在使用的构建工具链的更多详细信息。另请务必阅读" What is a classpath?"
另一种方法,也在Logback手册中列出:
您可以使用名为"
logback.configurationFile
"的系统属性指定默认配置文件的位置。此属性的值可以是URL,类路径上的资源或应用程序外部文件的路径。java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1
请注意,文件扩展名必须为" .xml"或" .groovy"。
这并不常见,但有时如果您需要在具有特定日志配置的特定环境中运行,或者运行某种自动测试将输出定向到与正常测试不同的地方,它可以派上用场直接配置这样的路径。