[英]Logback Could NOT find resource logback.xml
它适用于 output 到控制台。 logger.info("你好世界信息。"); //工作得很好...
但是,以下代码返回“找不到资源”错误:
Logger logger = LoggerFactory.getLogger("framework.Utilities._Test");
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);
我正在使用以下 XML:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>C:\Reports\logBack.log</file>
<!-- encoders are assigned by default the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
我已经将它复制到我的类路径(Windows7\Environment Variables\System Variables\Path)中几个位置的根目录中,但我仍然收到错误“找不到资源”。 有任何想法吗?
And I've copied it into the root of several locations in my classpath
logback具有查找配置文件的默认方式,此处是文档的用法:
让我们开始讨论登录后尝试进行自我配置的初始化步骤:
Logback尝试在类路径中找到一个名为logback.groovy的文件。
如果找不到此类文件,则logback会尝试在类路径中找到名为logback-test.xml的文件。
如果找不到这样的文件,它将在类路径中检查文件logback.xml。
如果未找到任何文件,则logback会使用BasicConfigurator自动进行自身配置,这会将日志输出定向到控制台。
因此,您可能会在控制台中看到输出时,它正在加载基本配置。 您可以尝试在class-path中指定路径,也可以像这样以编程方式进行操作
对我来说解决这个特定问题的一个简短而快速的解决方案是删除该 logback.xml 并 maven 更新项目
"对我来说,问题是由于错误地在类路径上有 2 个 slf4j-api 库而出现的。 删除其中一个就可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.