application.xml
logging:
level:
com.xx.gateway: DEBUG
org.springframework.cloud.netflix.zuul.web: DEBUG
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="encoding" value="UTF-8"/>
<appender name="SYNC_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/api-gateway.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|^_^|[%t]%-5level %logger{50} %line - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/api-gateway.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>256MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold >0</discardingThreshold>
<queueSize>2048</queueSize>
<includeCallerData>false</includeCallerData>
<appender-ref ref="SYNC_FILE"/>
</appender>
<appender name="SYNC_ROUTE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/route.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<immediateFlush>true</immediateFlush>
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|^_^|gw_log_type:%X{gw_logger_type}|gw_plugin_name:%X{gw_plugin_name}|gw_plugin_result:%X{gw_plugin_result}|cost:%X{upstream_response_time}|status:%X{upstream_response_status}|gw_status:%X{gw_status}|gw_api_id:%X{gw_api_id}|gw_project_id:%X{gw_project_id}|gw_cluster_id:%X{gw_cluster_id}|http_uri:%X{http_uri}|^_^|thread:%t|- %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/route.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>256MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>30GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_ROUTE" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold >0</discardingThreshold>
<queueSize>2048</queueSize>
<includeCallerData>false</includeCallerData>
<appender-ref ref="SYNC_ROUTE"/>
</appender>
<appender name="SYNC_SLOW_SQL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/mysql-router-dashboard_slow-sql.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|^_^|[%t]%-5level %logger{50} %line - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/mysql-router-dashboard_slow-sql.log%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>256MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_SLOW_SQL" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold >0</discardingThreshold>
<queueSize>2048</queueSize>
<includeCallerData>false</includeCallerData>
<appender-ref ref="SYNC_SLOW_SQL"/>
</appender>
<appender name="SYNC_HYSTRIXMETRICS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/hystrix-metrics.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<immediateFlush>true</immediateFlush>
<pattern>%m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/hystrix-metrics.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>256MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>30GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_HYSTRIXMETRICS" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold >0</discardingThreshold>
<queueSize>2048</queueSize>
<includeCallerData>false</includeCallerData>
<appender-ref ref="SYNC_HYSTRIXMETRICS"/>
</appender>
<logger name="LOG_HYSTRIX_METRICS" level="INFO" additivity="false">
<appender-ref ref="ASYNC_HYSTRIXMETRICS"/>
</logger>
<logger name="com.xx.tomcat.jdbc.pool.interceptor.SlowQueryReport" level="WARN">
<appender-ref ref="ASYNC_SLOW_SQL"/>
</logger>
<logger name="LOGGER_GATEWAY_ROUTE" level="INFO" additivity="false">
<appender-ref ref="ASYNC_ROUTE"/>
</logger>
<logger name="LOGGER_GATEWAY_PLUGIN_UPSTREAM" level="INFO" additivity="false">
<appender-ref ref="ASYNC_ROUTE"/>
</logger>
<logger name="com.xx.gateway.config.ZuulConfig" level="INFO" additivity="false">
<appender-ref ref="ASYNC_FILE"/>
</logger>
<logger name="com.xx.gateway.api" level="INFO" additivity="false">
<appender-ref ref="ASYNC_FILE"/>
</logger>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|^_^|[%t]%-5level %logger{50} %line - %m%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="ASYNC_FILE"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
level INFO 改为DEBUG打印异常堆栈