SpringCloudGateway&SpringBoot开启accesslog

Posted Java_Chuck

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于SpringCloudGateway&SpringBoot开启accesslog的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloudGateway&SpringBoot开启accesslog

VS2012 SP1(+十一月包)未知类型错误(类似 C::a(T &&...) )

sybase sp_procxmode简述

“Bin Deploy”Sql CE 3.5 SP2 & 已安装时出错

Exchange 2016 &XP&outlook 2010 sp2无法配置解决方法

SP2-0640:在 sqlplus 上未连接