SpringCloudGateway&SpringBoot开启accesslog

Tomcat开启accesslog:

server:
# Tomcat
  tomcat:
    #链接建立超时时间
    connection-timeout: 12000
    # CPU核数乘以100
    threads:
      max: 400
      # 最小空闲线程数
      min-spare: 100
    mbeanregistry:
      enabled: true
    accept-count: 1000
    # 访问日志
    accesslog:
      enabled: true
      directory: /app/deploy/logs
      buffered: true
      file-date-format: .yyyy-MM-dd
      pattern: '%a %h %m %l %u %t %r %s %S %b %D %T %I'
      prefix: access_log
      rename-on-rotate: false
      request-attributes-enabled: false
      rotate: true
      suffix: .log

server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=/app/deploy/logs
server.tomcat.accesslog.buffered=true
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd
server.tomcat.accesslog.pattern=%a %h %m %l %u %t %r %s %S %b %D %T %I
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.rename-on-rotate=false
server.tomcat.accesslog.request-attributes-enabled=false
server.tomcat.accesslog.rotate=true
server.tomcat.accesslog.suffix=.log

参数含义参考:

springboot中配置tomcat的access log - 那啥快看 - 博客园 (cnblogs.com)

SpringCloudGateway开启accesslog

Netty访问日志

要启用 响应式 Netty 访问日志,设置 -Dreactor.netty.http.server.accessLogEnabled=true

注意:必须是 Java 系统属性,而不是 Spring Boot 属性。

可以将日志记录系统(logging system)配置为具有单独的访问日志文件。 以下示例创建一个 Logback 配置:

<appender name="accessLog" class="ch.qos.logback.core.FileAppender">
    <file>access_log.log</file>
    <encoder>
        <pattern>%msg%n</pattern>
    </encoder>
</appender>
<appender name="async" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="accessLog" />
</appender>

<logger name="reactor.netty.http.server.AccessLog" level="INFO" additivity="false">
    <appender-ref ref="async"/>
</logger>

问题定位

使用 SpringCloudGateway 时可能出现的常见问题。

日志级别

Log Levels:以下 loggers 可能包含 DEBUG 和 TRACE 级别的有价值的故障排除信息:

  • org.springframework.cloud.gateway
  • org.springframework.http.server.reactive
  • org.springframework.web.reactive
  • org.springframework.boot.autoconfigure.web
  • reactor.netty
  • redisratelimiter

窃听:Wiretap

Reactor Netty HttpClient 和 HttpServer 可以启用窃听。 当将reactor.netty日志级别设置为 DEBUG 或 TRACE 时,且开启了窃听,将开启信息的日志记录,例如,通过发送和接收的 header 和 body

要启用 wiretap,需为 httpserver设置 spring.cloud.gateway.httpserver.wiretap=true;为 httpclient 设置spring.cloud.gateway.httpclient.wiretap=true

官方相关配置:Spring Cloud GatewaySpring Cloud系列(二十一):网关Gateway元数据,超时,跨域,HTTPS,监控,问题定位 | 光星の博客 (gxitsky.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值