使用slf4j和'logback'记录,但不创建配置中的指定日志文件.(使用maven,码头)

Jes*_*ssu 5 jetty logback slf4j maven

正如标题中所指出的,我正在使用Maven和Jetty.使用SLF4J和Logback进行日志记录.我在'src/main/resources'有'logback.xml'.

    <configuration>
        <appender name="STDOUT"
                class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
            </layout>
        </appender>

        <appender name="FILE"
            class="ch.qos.logback.core.FileAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
            </layout>
            <File>myLog.log</File>
        </appender>

        <logger name="org.mortbay">
            <level value="debug" />
        </logger>

        <root>
            <level value="error" />
            <appender-ref ref="STDOUT" />
            <appender-ref ref="FILE" />
        </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但我的问题是,如果我运行/调试项目,它不会创建文件'myLog.log'.获取日志文件的解决方案是什么?

有没有办法只用SLF4J获取日志文件?

Jes*_*ssu 10

抱歉! 我误解了'Logback'的用法.我从http://www.mail-archive.com/user@slf4j.org/msg00661.html获得了解决方案

您似乎误解了SLF4J的目的.如果你放置slf4j-jdk14-1.5.6.jar,那么slf4j-api将与java.util.logging绑定.不会使用Logback.只有在类路径上放置logback-core.jar和logback-classic.jar(而不是slf4j-jdk14-1.5.6.jar)时,SLF4J API才会与logback绑定.SLF4J与一个且仅有一个底层日志记录API绑定(每个JVM启动).

HTH,

感谢Ceki Gulcu.现在我可以在我的文件中获取日志了.