# lLogAnalyses **Repository Path**: lennonchan/lLogAnalyses ## Basic Information - **Project Name**: lLogAnalyses - **Description**: Tomcat Log分析 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2017-01-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #lLogAnalyses ## 简介 Tomcat 运行Log分析,参考的 [http://www.blogjava.net/xmatthew/archive/2008/04/14/192450.html](http://www.blogjava.net/xmatthew/archive/2008/04/14/192450.html) 首先是配置tomcat访问日志数据,默认情况下访问日志没有打开,配置的方式如下: 编辑 ${catalina}/conf/server.xml文件.注:${catalina}是tomcat的安装目录 把以下的注释()去掉即可。 其中 directory是产生的目录 tomcat安装${catalina}作为当前目录 pattern表示日志生产的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为 %h %l %u %t "%r" %s %b 但本人建议采用以下具体的配置,因为标准配置有一些重要的日志数据无法生。 %h %l %u %t "%r" %s %b %T 具体的日志产生样式说明如下(从官方文档中摘录): * %a - Remote IP address * %A - Local IP address * %b - Bytes sent, excluding HTTP headers, or '-' if zero * %B - Bytes sent, excluding HTTP headers * %h - Remote host name (or IP address if resolveHosts is false) * %H - Request protocol * %l - Remote logical username from identd (always returns '-') * %m - Request method (GET, POST, etc.) * %p - Local port on which this request was received * %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 * %u - Remote user that was authenticated (if any), else '-' * %U - Requested URL path * %v - Local server name * %D - Time taken to process the request, in millis * %T - Time taken to process the request, in seconds There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest. It is modeled after the apache syntax: * %{xxx}i for incoming headers * %{xxx}c for a specific cookie * %{xxx}r xxx is an attribute in the ServletRequest * %{xxx}s xxx is an attribute in the HttpSession 现在我们回头再来看一下下面这个配置 %h %l %u %t "%r" %s %b %T 生产的访问日志数据,我们可以做哪些事? 先看一下,我们能得到的数据有: * %h 访问的用户IP地址 * %l 访问逻辑用户名,通常返回'-' * %u 访问验证用户名,通常返回'-' * %t 访问日时 * %r 访问的方式(post或者是get),访问的资源和使用的http协议版本 * %s 访问返回的http状态 * %b 访问资源返回的流量 * %T 访问所使用的时间 ## 如何开始 本人开发环境为Maven+Eclipse+Tomcat. 1. 下载工程。git clone https://git.oschina.net/lennonchan/lLogAnalyses.git 2. eclipse import 工程 3. maven install 4. run on Server