如标题中所述,我使用的是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>
但我的问题是,如果我运行/调试项目,它不会创建文件'myLog.log'。获取日志文件的解决方案是什么。
有没有办法只用SLF4J获取日志文件?
答案 0 :(得分: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 与一个唯一的底层绑定 logging API(根据JVM启动)。
HTH,
感谢Ceki Gulcu。现在,我可以在我的文件中获取日志。
答案 1 :(得分:0)
如果你正在使用JBoss 5.1并且你遇到了同样的问题[logback没有写入文件],那么在jboss-web.xml中添加以下内容。
<class-loading>
<loader-repository>
com.hp:classloader=logback-slf4j
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
这可以解决您的问题。