代码之家  ›  专栏  ›  技术社区  ›  dogbane

在调试中运行Logback

  •  32
  • dogbane  · 技术社区  · 14 年前

    log4j.debug 财产。我要看看它在哪里接我的电话 logback.xml 从。

    文件提到使用 StatusPrinter 打印出logback的内部状态,但这需要更改代码。

    5 回复  |  直到 14 年前
        1
  •  67
  •   Aaron Digulla    9 年前

    [编辑]

    -Dlogback.debug=true 启用logback设置的调试。

    --古老的答案--

    不幸的是,无法通过系统属性启用调试。你必须使用 <configuration debug="true"> logback.xml

        2
  •  4
  •   David Roussel    7 年前

    我就是这样做的。我设置了一个名为'日志级别,然后我引用它logback.xml文件.

    缺点是你必须日志级别“始终设置。我处理这个问题的方法是签入main方法并将其设置为INFO如果尚未设置,请确保在第一次记录调用之前执行此操作。然后我可以在命令行上重写,并有一个合理的默认值。

    <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>
    
        3
  •  1
  •   Andres Peter Centgraf    7 年前

    我无法用选定的答案使它工作。但是,以下措施奏效了:

    java -Dlogback.configurationFile=/path/to/config-debug.xml com.domain.Main
    

    只需添加一个文件( config-debug.xml 在本例中),并在需要调试时将其保留在服务器的某个位置。如下所示。

    <configuration>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <!-- encoders are assigned the type
                 ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
            <encoder>
                <pattern>%d{dd-MMM-yyyy HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <root level="debug">
            <appender-ref ref="STDOUT" />
        </root>
    </configuration>
    

    使用上述方法运行应用程序 -D

    当一切恢复正常时,移除 参数并重新启动应用程序。

    Chapter 3: Logback configuration

        4
  •  1
  •   deve    7 年前

    可以通过系统属性设置status listener类:

    java -Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener ...
    

    Logback manual

        5
  •  -1
  •   AixNPanes    8 年前

    在eclipse中,可以有多个运行配置。打开你的主课堂。转到eclipse工具栏上的Debug下拉列表并选择Debug configurations。单击左上角的New launch configuration图标。给你的启动配置起个更好的名字。单击名称下的Arguments选项卡并输入-Dlog.level=调试或者任何你想要的。单击关闭或调试

    您可以再次执行此操作并指定-Dlog.level=警告例如。