SpringBoot如何配置tomcat access日志
Spring Boot使用嵌入式的Tomcat作為默認(rèn)的Web服務(wù)器,可以通過配置文件方式來開啟和定制access日志。access日志記錄了每一個(gè)HTTP請(qǐng)求的信息,包括請(qǐng)求的來源、請(qǐng)求的資源、響應(yīng)狀態(tài)碼等,常常用來做數(shù)據(jù)統(tǒng)計(jì)、性能監(jiān)控,比如通過分析訪問日志,可以發(fā)現(xiàn)性能瓶頸和優(yōu)化機(jī)會(huì),提升應(yīng)用的響應(yīng)速度等。
tomcat access日志配置
以yml文件為例:
server:
# 配置access日志
tomcat:
accesslog:
enabled: true
renameOnRotate: true
pattern: '%{yyyy-MM-dd HH:mm:ss}t "%h" "%{X-FORWARDED-FOR}i" "%l" "%u" "%m" "%U" "%H" "%s" "%b" "%q" "%{Referer}i" "%{User-Agent}i" "%I" "%T"'
directory: /logs/access/
prefix: access_log
suffix: .log參數(shù)說明:
enabled 是否開啟access日志
renameOnRotate 是否按天切割日志。切割后的日志要按yyyyMMdd重命名
pattern 日志打印格式
directory 日志保存文件路徑
prefix 日志的前綴
suffix 日志的后綴
除了上面幾個(gè)配置參數(shù),其他常用參數(shù)還有:
file-date-format: .yyyy-MM-dd basedir: d:/logs rotate: true 含義如下: file-date-format 在日志文件名稱中使用定制的日期格式,日志的格式也決定了日志文件翻轉(zhuǎn)的頻率。如果想每小時(shí)翻轉(zhuǎn)一次,可以定義為“yyyy-MM-dd.HH”; basedir 日志文件存放的基礎(chǔ)目錄 rotate 指定是否啟用日志輪轉(zhuǎn)。默認(rèn)為true。這個(gè)參數(shù)決定是否需要切換切換日志文件,如果被設(shè)置為false,則日志文件不會(huì)切換,即所有文件打到同一個(gè)日志文件中,并且file-date-format參數(shù)也會(huì)被忽略
pattern參數(shù)配置
比較復(fù)雜的是pattern參數(shù)配置,它由一系列的格式標(biāo)識(shí)符組成,這些標(biāo)識(shí)符用于從當(dāng)前請(qǐng)求和響應(yīng)中提取信息
%a - 遠(yuǎn)程IP地址
%A - 本地IP地址
%b - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié),如果為0則展示'-'
%B - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié)
%h - 遠(yuǎn)程主機(jī)名稱(如果resolveHosts為false則展示IP)
%H - 請(qǐng)求協(xié)議
%l - 遠(yuǎn)程用戶名,始終為'-'(Remote logical username from identd)
%m - 請(qǐng)求的方法(GET, POST等)%p - 接受請(qǐng)求的本地端口
%q - 查詢字符串,如果存在,有一個(gè)前置的'?'
%r - 請(qǐng)求的第一行(包括請(qǐng)求方法和請(qǐng)求的URI)
%s - response的HTTP狀態(tài)碼(200,404等)%S - 用戶的session ID
%t - 日期和時(shí)間,Common Log Format格式
%u - 被認(rèn)證的遠(yuǎn)程用戶, 不存在則展示'-'
%U - 請(qǐng)求URL路徑%v - 本地服務(wù)名
%D - 處理請(qǐng)求的時(shí)間,單位為毫秒
%T - 處理請(qǐng)求的時(shí)間,單位為秒%I - 當(dāng)前請(qǐng)求的線程名(can compare later with stacktraces)
%I - 當(dāng)前請(qǐng)求線程名(可與堆棧跟蹤進(jìn)行比較)。
access log 也支持將cookie、header、session或者其他在ServletRequest中的對(duì)象信息打印到日志中,其配置遵循Apache配置的格式({xxx}指值的名稱):
- %{xxx}i - 記錄名稱為xxx的請(qǐng)求頭的值。
- %{xxx}o - 記錄名稱為xxx的響應(yīng)頭的值。
- %{xxx}c - 記錄名稱為xxx的Cookie的值。
- %{xxx}r - 記錄名稱為xxx的ServletRequest屬性的值。
- %{xxx}s - 記錄名稱為xxx的HttpSession屬性的值。
- %{xxx}p - 記錄本地(服務(wù)器)端口(xxx==local)或遠(yuǎn)程(客戶端)端口(xxx=remote)。
- %{xxx}t - 使用增強(qiáng)的SimpleDateFormat模式xxx記錄請(qǐng)求結(jié)束時(shí)的時(shí)間戳。
pattern也可以設(shè)置指定的模式,如下:
- ommon 模式: %h %l %u %t "%r" %s %b 這是Common Log Format的定義,記錄了客戶端IP地址、遠(yuǎn)程登錄名、用戶、時(shí)間、請(qǐng)求的第一行、狀態(tài)碼和響應(yīng)字節(jié)數(shù)。
- combined 模式: %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" 在common模式的基礎(chǔ)上,增加了Referer和User-Agent請(qǐng)求頭的信息。
參考鏈接:
https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html
到此這篇關(guān)于SpringBoot配置tomcat access日志的文章就介紹到這了,更多相關(guān)SpringBoot配置tomcat access日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用fileupload組件實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了使用fileupload實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
Java?精煉解讀時(shí)間復(fù)雜度與空間復(fù)雜度
對(duì)于一個(gè)算法,其時(shí)間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個(gè)較好的時(shí)間復(fù)雜度時(shí),可能會(huì)使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲(chǔ)空間,這篇文章主要給大家介紹了關(guān)于Java時(shí)間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下2022-03-03
SpringBoot 如何實(shí)時(shí)刷新靜態(tài)文件
這篇文章主要介紹了SpringBoot如何實(shí)時(shí)刷新靜態(tài)文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Springboot集成JSR303參數(shù)校驗(yàn)的方法實(shí)現(xiàn)
這篇文章主要介紹了Springboot集成JSR303參數(shù)校驗(yàn)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Java音頻處理之音頻流轉(zhuǎn)音頻文件和獲取音頻播放時(shí)長詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)音頻流轉(zhuǎn)音頻文件和獲取音頻播放時(shí)長功能,文中的示例代碼簡潔易懂,有需要的小伙伴可以了解下2025-07-07
SpringBoot使用Redis進(jìn)行限流功能實(shí)現(xiàn)
Spring Boot中使用Redis實(shí)現(xiàn)限流功能是一種常見的做法,特別是在高并發(fā)場景下,限流可以有效防止系統(tǒng)過載,保證服務(wù)的穩(wěn)定性,本文就來詳細(xì)的介紹一下SpringBoot使用Redis進(jìn)行限流功能實(shí)現(xiàn),感興趣的可以了解一下2025-10-10
關(guān)于String轉(zhuǎn)Json的幾種方式
這篇文章主要介紹了關(guān)于String轉(zhuǎn)Json的幾種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

