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 &&...) )
“Bin Deploy”Sql CE 3.5 SP2 & 已安装时出错