简体   繁体   English

Liquibase 中没有跟踪级别的日志功能

[英]No Trace level logs feature in Liquibase

I have Spring Boot App in Gradle with Liquibase changesets.我在 Gradle 中有 Spring 引导应用程序和 Liquibase 变更集。

I was going through the liquibase-page我正在浏览liquibase-page

I want to set the TRACE level logs for the liquibase, I tried above page but not able to figure out how can I put TRACE level logs with above page.我想为 liquibase 设置 TRACE 级别日志,我尝试了上面的页面,但无法弄清楚如何将 TRACE 级别日志放在上面的页面中。

Can someone please tell how can enable or change the logs level to TRACE for the liquibase?有人可以告诉如何为 liquibase 启用或更改日志级别为 TRACE 吗?

How can I set log level for liquibase in logback-spring.xml file.如何在 logback-spring.xml 文件中设置 liquibase 的日志级别。 ? ?

Below is my application yml file下面是我的应用程序 yml文件

server:
  tomcat:
    connectionTimeout: 300000
management:
  endpoint:
    mappings:
      enabled: true
spring:
  liquibase:
    change-log: classpath:/db/changelog/db.changelog-master.xml
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    hikari:
      minimum-idle: 5
      maximumPoolSize: 20
      idleTimeout: 30000
      maxLifetime: 2000000
      connectionTimeout: 30000
      poolName: data-pool
  jpa:
    hibernate:
      use-new-id-generator-mappings: false
      ddl-auto: none
    database-platform: org.hibernate.dialect.Oracle12cDialect
  quartz:
    job-store-type: jdbc
    jdbc:
      initialize-schema: never
    properties:
      org:
        quartz:
          scheduler:
            instanceId: AUTO
          jobStore:
            class: org.quartz.impl.jdbcjobstore.JobStoreTX
            driverDelegateClass: org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
            useProperties: false
            misfireThreshold: 60000
            clusterCheckinInterval: 5000
            isClustered: true
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true

Below is my logback-spring.xml file下面是我的logback-spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>

    <springProperty scope="context" name="app_name" source="spring.application.name"/>
    <springProperty scope="context" name="environment" source="param_env" defaultValue="default_env"/>
    <springProperty scope="context" name="tenant" source="param_tenant" defaultValue="default_tenant"/>

    <property name="GENERIC_PATTERN"
              value="[%date{ISO8601}] [%p] [%t] [%X{traceId:-}] [%X{orderId:-}] [%X{batchJobId:-}] [%X{username:-}] [%X{functional-context}] [%c{2}] %4L | %m%n"/>
    <property name="CONSOLE_LOG_PATTERN" value="$GENERIC_PATTERN"/>
    <property name="CHARSET" value="UTF-8"/>

    <property name="LOG_DIR"
              value="logs/${envname:-${environment}}/${param_dtlogname:-${app_name}}"/>

    <logger name="org.springframework" level="INFO"/>
    <logger name="org.springframework.web" level="INFO"/>
    <logger name="org.dt" level="INFO"/>
    <logger name="com.dt" level="INFO"/>

    <logger name="org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor"
            level="INFO"/>

    <logger name="org.springframework.security" level="INFO"/>
    <logger name="org.hibernate" level="INFO"/>

    <!-- Auto configuration report-->
    <logger name="org.springframework.boot.autoconfigure" level="DEBUG"/>
    <logger name="org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener"
            level="TRACE"/>

    <springProfile name="local,component-test,component-test-security,scheduler-test">

        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <charset>${CHARSET}</charset>
                <pattern>${GENERIC_PATTERN}</pattern>
            </encoder>
        </appender>

        <logger name="zuul.web.request.logger" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
        </root>

    </springProfile>


        <appender name="FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

            <file>${LOG_DIR}/${param_dtlogname}-${HOSTNAME}.log</file>

            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>
                    ${LOG_DIR}/${param_dtlogname}-${HOSTNAME}.%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <maxFileSize>1GB</maxFileSize>
                <totalSizeCap>10GB</totalSizeCap>
                <!-- keep 30 days worth of history -->
                <maxHistory>30</maxHistory>
            </rollingPolicy>

            <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
                <providers>
                    <mdc/>
                    <pattern>
                        <omitEmptyFields>true</omitEmptyFields>
                        <pattern>
                            {
                            "app_name": "${app_name}",
                            "HOSTNAME":"${HOSTNAME}",
                            "environment":"${environment}"
                            }
                        </pattern>
                    </pattern>
                    <logLevel/>
                    <timestamp/>
                    <threadName/>
                    <logstashMarkers/>
                    <tags/>
                    <arguments/>
                    <version/>
                    <stackTrace/>
                    <loggerName/>
                    <threadName/>
                    <message/>
                </providers>
            </encoder>
        </appender>

        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <charset>${CHARSET}</charset>
                <pattern>${GENERIC_PATTERN}</pattern>
            </encoder>
        </appender>

        <appender name="CONSOLE_JSON" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="net.logstash.logback.encoder.LogstashEncoder">
                <fieldNames>
                    <timestamp>timestamp</timestamp>
                    <message>logdata</message>
                    <version>[ignore]</version>
                    <levelValue>[ignore]</levelValue>
                </fieldNames>
                <timeZone>UTC</timeZone>
            </encoder>
        </appender>

        <appender name="API_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

            <file>${LOG_DIR}/api-${param_dtlogname}-${HOSTNAME}.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>
                    ${LOG_DIR}/api-${param_dtlogname}-${HOSTNAME}.%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <maxFileSize>1GB</maxFileSize>
                <totalSizeCap>10GB</totalSizeCap>
                <!-- keep 30 days worth of history -->
                <maxHistory>30</maxHistory>
            </rollingPolicy>

            <encoder class="net.logstash.logback.encoder.LogstashEncoder">
                <fieldNames>
                    <timestamp>[ignore]</timestamp>
                    <message>logdata</message>
                    <version>[ignore]</version>
                    <levelValue>[ignore]</levelValue>
                </fieldNames>
                <timeZone>UTC</timeZone>
            </encoder>
        </appender>

        <appender name="APPLICATION_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

            <file>${LOG_DIR}/startup-${param_dtlogname}-${HOSTNAME}.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>
                    ${LOG_DIR}/startup-${param_dtlogname}-${HOSTNAME}.%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <maxFileSize>1GB</maxFileSize>
                <totalSizeCap>10GB</totalSizeCap>
                <!-- keep 30 days worth of history -->
                <maxHistory>30</maxHistory>
            </rollingPolicy>

            <encoder class="net.logstash.logback.encoder.LogstashEncoder">
                <fieldNames>
                    <timestamp>timestamp</timestamp>
                    <message>logdata</message>
                    <version>[ignore]</version>
                    <levelValue>[ignore]</levelValue>
                </fieldNames>
                <timeZone>UTC</timeZone>
            </encoder>
        </appender>

        <logger name="api.logger" level="INFO" additivity="false">
            <appender-ref ref="API_FILE_APPENDER"/>
        </logger>

        <logger name="application.startup.logger" level="INFO" additivity="false">
            <appender-ref ref="APPLICATION_FILE_APPENDER"/>
        </logger>

        <appender name="SENTRY" class="io.sentry.logback.SentryAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <encoder>
                <pattern>${GENERIC_PATTERN}</pattern>
            </encoder>
        </appender>

        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE_APPENDER"/>
            <appender-ref ref="SENTRY"/>
        </root>
    </springProfile>
</configuration>

Try this:尝试这个:

FINE (lowest level; formerly DEBUG) – Show tracing information of program execution and minor failures. FINE(最低级别;以前称为 DEBUG)——显示程序执行和小故障的跟踪信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM