正在输出到控制台。
logger.info(“Hello world 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具有查找配置文件的默认方式,这是文档的运行方式:



因此,在您的情况下,当您在控制台中看到输出时,它可能正在加载基本配置。您可以尝试在class-path中指定路径,也可以像this一样以编程方式进行操作

10-02 23:13