Linux
將幾行tomcat access-logs合併為一行
我需要你的幫助。我想在SLES 12上的****Apache Tomcat網路伺服器上記錄訪問。他正在跑步並且正在正常記錄。但是當我訪問該站點時,tomcat 正在將 8 行寫入文件。像這樣:
localhost_access_log.txt
10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET / HTTP/1.1" 200 11250 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /tomcat.css HTTP/1.1" 200 5576 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /tomcat.png HTTP/1.1" 200 5103 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /favicon.ico HTTP/1.1" 200 21630 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /bg-nav.png HTTP/1.1" 200 1401 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /asf-logo.png HTTP/1.1" 200 17811 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /bg-middle.png HTTP/1.1" 200 1918 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /bg-button.png HTTP/1.1" 200 713 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /bg-upper.png HTTP/1.1" 200 3103 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /favicon.ico HTTP/1.1" 206 21630 10.XXX.XX.XXX - - [27/Jul/2016:08:28:29 +0200] "GET /favicon.ico HTTP/1.1" 200 21630
當我以管理員身份登錄時也是如此,然後tomcat寫了5行。
10.XXX.XX.XXX - - [27/Jul/2016:10:37:01 +0200] "GET /manager/status HTTP/1.1" 401 2473 10.XXX.XX.XXX - admin [27/Jul/2016:10:37:02 +0200] "GET /manager/status HTTP/1.1" 200 7010 10.XXX.XX.XXX - - [27/Jul/2016:10:37:03 +0200] "GET /manager/images/tomcat.gif HTTP/1.1" 200 2066 10.XXX.XX.XXX - - [27/Jul/2016:10:37:03 +0200] "GET /manager/images/asf-logo.gif HTTP/1.1" 200 7279 10.XXX.XX.XXX - - [27/Jul/2016:10:37:03 +0200] "GET /favicon.ico HTTP/1.1" 200 21630
現在我的問題:有可能,tomcat每次訪問只寫一行?還是那個tomcat以個人格式寫日誌?因為我想用graylog2分析訪問日誌,而 grayog 對此有一些問題。
有點晚了,但還是。
我不認為你可以減少日誌文件中的行數,但為了分析你可以過濾掉一些行
egrep -v ' /tomcat.[^\b]{3}|/favicon.ico| /[^\.]*.png' acces.log > filtered.log
在哪裡
egrep -v
從匹配模式的輸出行中刪除/tomcat.[^\b]{3}
: 一個空白,/tomcat 字元串一個點和 3 個非空白/favicon.ico
直截了當/[^\.]*.png
一個空白一個斜線,任意數量的非點和png當然日誌分析器可能有一些預先建構的過濾器,或者你可能需要花一些時間來定制它。