我需要你的帮助。我想在我的阿帕奇 Tomcat网络服务器SLES 12。他正在运行,并且正在正常记录。但是当我访问该网站时,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 对此有一些疑问。
答案1
虽然有点晚了但还是可以的。
我认为你不能减少日志文件中的行数,但为了进行分析,你可以过滤掉一些行
egrep -v ' /tomcat.[^\b]{3}|/favicon.ico| /[^\.]*.png' acces.log > filtered.log
在哪里
egrep -v
从输出行中删除与模式匹配的行/tomcat.[^\b]{3}
:一个空格,/tomcat 字符串一个点和 3 个非空格/favicon.ico
直截了当/[^\.]*.png
一个空格、一个斜线、任意数量的非点和 png
当然,日志分析仪可能有一些预先构建的过滤器,或者您可能需要花一些时间对其进行定制。