Tomcat中间件打印请求日志

修改conf下的server.xml文件中的Valve配置

主要修改pattern的值

xml 复制代码
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log" suffix=".txt"
       pattern="%h %a %A %l %u %t %I &quot;%r&quot; %s %b %Ts %Dms" />

相关pattern的含义可以参考官方文档,这里贴上方便查询

shell 复制代码
Values for the pattern attribute are made up of literal text strings, combined with pattern identifiers prefixed by the "%" character to cause replacement by the corresponding variable value from the current request and response. The following pattern codes are supported:

%a - Remote IP address. See also %{xxx}a below.
%A - Local IP address
%b - Bytes sent, excluding HTTP headers, or '-' if zero
%B - Bytes sent, excluding HTTP headers
%D - Time taken to process the request in millis. Note: In httpd %D is microseconds. Behaviour will be aligned to httpd in Tomcat 10 onwards.
%F - Time taken to commit the response, in milliseconds
%h - Remote host name (or IP address if enableLookups for the connector is false)
%H - Request protocol
%I - Current request thread name (can compare later with stacktraces)
%l - Remote logical username from identd (always returns '-')
%m - Request method (GET, POST, etc.)
%p - Local port on which this request was received. See also %{xxx}p below.
%q - Query string (prepended with a '?' if it exists)
%r - First line of the request (method and request URI)
%s - HTTP status code of the response
%S - User session ID
%t - Date and time, in Common Log Format
%T - Time taken to process the request, in seconds. Note: This value has millisecond resolution whereas in httpd it has second resolution. Behaviour will be align to httpd in Tomcat 10 onwards.
%u - Remote user that was authenticated (if any), else '-' (escaped if required)
%U - Requested URL path
%v - Local server name
%X - Connection status when response is completed:
X = Connection aborted before the response completed.
+ = Connection may be kept alive after the response is sent.
- = Connection will be closed after the response is sent.

最后打印格式如下

在SpringBoot使用嵌入式Tomcat可以在配置文件中按照如下配置

properties 复制代码
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=D:/home/application/publish/logs
server.tomcat.accesslog.pattern=%h %a %A %l %u %t %I "%r" %s %b %Ts %Dms

directory可以配置相对路径或绝对路径,如果是相对路径,那么最终会放在Tomcat的基础目录当中。

相关推荐
谢亮_vipxieliang36 分钟前
Java 21 新特性实战:Record、Sealed、模式匹配
java·开发语言
霸道流氓气质44 分钟前
LLM 应用限流与熔断机制完全指南:从多层防护架构到Java生产级弹性实战
java·开发语言·架构
不会就选b1 小时前
算法日常・每日刷题--<动态规划>1
java·数据结构·算法
晚安code1 小时前
JVM 内存结构入门:程序计数器、虚拟机栈、本地方法栈与堆的溢出诊断
java·jvm
自强的小白1 小时前
Spring事务失效的场景
java·spring
小蒜学长1 小时前
基于SpringBoot+Vue的小学数学智能出题系统(代码+数据库+LW)
java·数据库·spring boot·后端·智能出题系统
不灭的黄金瞳1231 小时前
Java继承与多态
java·intellij-idea
企业数字化笔记2 小时前
视频字幕如何烧录到成片?硬字幕、软字幕、样式控制与播放验收
java·ffmpeg
小朱爱编程1232 小时前
我用 Jev 做了三个实用工具:整理标签页、分诊飞书反馈、找回 GitHub 收藏
java·开发语言·人工智能·后端·python·架构·ai编程
酷虎软件2 小时前
视频加标题字幕 API 接口文档
java·数据库·mysql