在调试中运行日志
我最近从log4j切换到logback,我想知道是否有一种简单的方法可以在调试模式下运行logback,类似于log4j的属性。我需要看看它从哪里开始。log4j.debug
logback.xml
文档提到使用 a 来打印 logback 的内部状态,但这需要更改代码。StatusPrinter
我最近从log4j切换到logback,我想知道是否有一种简单的方法可以在调试模式下运行logback,类似于log4j的属性。我需要看看它从哪里开始。log4j.debug
logback.xml
文档提到使用 a 来打印 logback 的内部状态,但这需要更改代码。StatusPrinter
[编辑]
此问题已在 Logback 1.0.4 中修复。现在,您可以使用 来启用对登录设置的调试。-Dlogback.debug=true
- 旧答案 -
遗憾的是,无法通过 System 属性启用调试。您必须在 中使用 .请提交功能请求。<configuration debug="true">
logback.xml
我就是这样做的。我设置了一个名为“log.level”的系统属性,然后在logback.xml中引用它。
编辑:缺点是您必须始终设置“log.level”。我处理这个问题的方法是签入我的main方法并将其设置为INFO(如果尚未设置),请确保在首次记录调用之前执行此操作。然后,我可以在命令行上覆盖,并有一个合理的默认值。
以下是它在我的日志中的外观.xml:
<configuration>
<logger name="com.mycompany.project" level="${log.level}" />
<logger name="httpclient" level="WARN" />
<logger name="org.apache" level="WARN" />
<logger name="org.hibernate" level="WARN" />
<logger name="org.hibernate.cfg.AnnotationBinder" level="WARN" />
<logger name="org.hibernate.cfg.annotations" level="WARN" />
<logger name="org.quartz" level="WARN" />
<logger name="org.springframework" level="WARN" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16thread] %-5level %-35.35logger{30} - %msg%n</pattern>
</encoder>
</appender>
<root level="${log.level:-INFO}">
<appender-ref ref="STDOUT" />
</root>
</configuration>