How to enable debug in slf4j Logger?

后端 未结 9 594
醉酒成梦
醉酒成梦 2020-12-24 05:21

How to globally enable debug for all the slf4j.Logger objects?

相关标签:
9条回答
  • 2020-12-24 05:25

    Here's a sample configuration I usually use to setup logging with logback.
    Gradle dependencies (the same apply to Maven)

    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
    compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
    

    logback.xml configuration to be placed in the project's classpath (src/main/resources)

    <configuration>
    
        <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n</Pattern>
            </layout>
        </appender>
        
        <!-- enable debug only on org.hibernate.SQL package -->
        <logger name="org.hibernate.SQL" level="debug" additivity="false">
            <appender-ref ref="STDOUT" />
        </logger>
    
        <root level="info">
            <appender-ref ref="STDOUT" />
        </root>
    
    </configuration>
    
    0 讨论(0)
  • 2020-12-24 05:26

    For log4j

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
    
    <!-- ============================== -->
    <!-- Append messages to the console -->
    <!-- ============================== -->
    
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out"/>
        <param name="Threshold" value="INFO"/>
    
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
        </layout>
    </appender>
    
    <appender name="web" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="Threshold" value="DEBUG"/>
        <param name="Append" value="true"/>
        <param name="File" value="${catalina.home}/logs/web.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
        </layout>
    </appender>
    
    <category name="com.idc.scd" additivity="false">
        <priority value="${log4j.category.com.mypackage}"/>
        <appender-ref ref="web"/>
    </category>
    
    </log4j:configuration>
    

    by this cofiguration your all "com.mypackage" logs will be written in "web.log" file under catalina.home.

    0 讨论(0)
  • 2020-12-24 05:29

    depends on what binding you are using... if e.g. it's log4j have a look at http://logging.apache.org/log4j/1.2/manual.html and its Configuration chapter

    0 讨论(0)
  • 2020-12-24 05:31

    exists various capability to switch debug log on:
    this article have good explanation all of those. to me good fit is:

    Using slf4j with Log4j logger
    create file src/main/resources/log4j.properties

    log4j.rootLogger=DEBUG, STDOUT
    log4j.logger.deng=INFO
    log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
    log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
    log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
    
    0 讨论(0)
  • 2020-12-24 05:32

    Use logback as the slf4j binding.

    The default behaviour without an configuration file is to log all events at level DEBUG and above to System.out. See http://logback.qos.ch/manual/configuration.html#automaticConf for details.

    0 讨论(0)
  • 2020-12-24 05:35

    Pass the System Property -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG at your Java startup for the SLF4J Simple api

    0 讨论(0)
提交回复
热议问题