`

转载:设置Tomcat访问日志

阅读更多
常使用web服务器的朋友大都了解,一般的web server有两部分日志:
    一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息
    二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。
  
现在我来和大家介绍一下利用tomcat产生的访问日志数据,我们能做哪些有效的分析数据?

首先是配置tomcat访问日志数据,默认情况下访问日志没有打开,配置的方式如下:
    编辑 ${catalina}/conf/server.xml文件.注:${catalina}是tomcat的安装目录
    把以下的注释(<!-- -->)去掉即可。
            <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        -->
    其中 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 访问所使用的时间
  
有了这些数据,我们可以根据时间段做以下的分析处理(图片使用jfreechart工具动态生成):
  * 独立IP数统计
  * 访问请求数统计
  * 访问资料文件数统计
  * 访问流量统计
  * 访问处理响应时间统计
  * 统计所有404错误页面
  * 统计所有500错误的页面
  * 统计访问最频繁页面
  * 统计访问处理时间最久页面
  * 统计并发访问频率最高的页面
分享到:
评论

相关推荐

    Linux下配置jdk+tomcat【附:设置tomcat自动启动,jsvc方式】.pdf

    解决这些问题通常需要仔细检查错误日志,确保所有必要的软件包都已安装,并且文件权限设置得当。同时,随着JDK和Tomcat版本的更新,配置步骤可能会有所不同,因此建议查阅最新的官方文档以获取最准确的信息。

    tomcat 日志设置解决方案

    本篇将详细讲解Tomcat日志设置的相关知识点,旨在提供一套实用的解决方案。 首先,Tomcat的日志主要分为两种类型:Catalina日志和Host日志。Catalina日志记录了Tomcat服务器整体运行的信息,而Host日志则针对每个...

    在tomcat的访问日志配置:awstats

    标题中的“在Tomcat的访问日志配置:awstats”涉及到的是Apache Tomcat服务器的访问日志管理和分析工具——AWStats。AWStats是一款开源的Web服务器统计分析软件,它可以实时或者定期分析服务器的访问日志,提供详细...

    tomcat日志配置.docx

    Tomcat 的访问日志可以记录访问的时间、IP、访问的资料等相关信息。我们可以通过编辑 ${catalina}/conf/server.xml 文件来配置 Tomcat 访问日志。例如,可以添加以下配置: ``` directory="logs" prefix=...

    将tomcat设置为系统服务

    ### 将Tomcat设置为系统服务 在日常的软件开发与运维工作中,为了方便管理和启动Tomcat服务器,我们经常需要将其设置为系统服务。本文将详细介绍如何将Tomcat配置为Windows系统的服务,并确保其能够自动启动和运行...

    tomcat控制台详细错误日志设置

    为了帮助开发者更好地理解并解决这些问题,我们可以调整Tomcat的配置,使其输出更详细的错误日志。本篇文章将详细介绍如何进行这样的设置。 1. **启用Tomcat的详细错误日志** Tomcat的错误日志主要通过`logging....

    tomcat-access-log-js-parser:将 Tomcat 访问日志 [line] 解析为 JSON 字符串的 JavaScript 函数

    Javascript 函数将 Tomcat 访问日志行解析为 JSON 字符串。 parseCommonFormat(line)和parseCommonFormatSnakeCaseKeys(line)函数仅使用内置的 Javascript 功能并返回转换为 JSON 字符串的日志条目。 它们旨在即使...

    设置tomcat只允许域名访问

    设置tomcat只允许域名访问 设置tomcat只允许域名访问

    Tomcat----JSP运行平台

    Tomcat环境变量设置 我电脑JDK的路径为: C:\jdk1.6.0_10 我电脑Tomcat的路径为: C:\Tomcat Path: C:\jdk1.6.0_10\bin;C:\Tomcat\bin //前者为JDK环境变量的设置(以分号为分割) //后者为Tomcat环境变量的...

    Tomcat自定义日志配置流程

    NULL 博文链接:https://jyao.iteye.com/blog/1266503

    修改Tomcat默认访问根目录的方法

    在Tomcat默认安装后,tomcat的主目录是webapps/root目录。 在conf文件夹下面找到server.xml 打开 在&lt;hosts&gt; ……中间添加一行 代码如下:”” docBase=”/usr/tomcat/apache-tomcat-8.5.11/webapps/guanwang” ...

    tomcat日志文件

    在IT行业中,Tomcat是一个广泛使用的开源Java Servlet容器,它主要负责执行Java Web应用程序。日志文件在任何软件系统中都...通过精细调整日志设置,可以更好地监控系统健康,及时发现并解决问题,提升整体运维效率。

    tomcat设置开机自启动.docx

    Tomcat 设置开机自启动 Tomcat 是一款流行的开源 Web 服务器软件,广泛应用于企业级应用开发中。为了确保 Tomcat 服务器的稳定运行,设置开机自启动是非常必要的。下面将详细介绍 Tomcat 设置开机自启动的步骤和...

    Centos7配置logrotate执行Tomcat日志轮转

    在`/etc/crontab`或者通过`crontab -e`命令编辑个人用户crontab,设置定时任务,例如`0 2 * * * /usr/sbin/logrotate -f /etc/logrotate.d/tomcat`,这将在每天凌晨2点执行日志轮转。 5. 执行测试与监控:在配置...

    Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...

    tomcat日志详细说明

    ### Tomcat日志详细说明 #### 一、Tomcat日志概述 Apache Tomcat作为一款开源的Servlet容器,被广泛应用于Java Web应用的部署。它不仅支持Servlet还支持JSP等技术,是学习和开发Java Web项目的理想选择之一。为了...

    linux shell脚本定时清理tomcat日志文件

    Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...

    Tomcat 不显示详细日志的问题

    Tomcat 不显示详细日志的问题解决方案 Tomcat 是一个流行的 Java Web 服务器,用于部署和运行基于 Java 的 Web 应用程序。但是,在某些情况下,Tomcat 的详细错误日志可能会消失,只报一个万恶的 Context [] ...

    tomcat日志过大问题

    ### Tomcat日志过大问题及解决方案 在日常的运维工作中,Tomcat作为一款广泛使用的Java应用服务器,其日志管理尤为重要。特别是在生产环境中,随着系统的持续运行,日志文件(如`catalina.out`)可能会不断增大,...

    tomcat 外网部署按天切分保存日志配置文件

    首先,我们要了解Tomcat的日志主要由`catalina.out`生成,这是一个默认的日志文件,包含了Tomcat启动和运行过程中的所有标准输出和错误输出。在外网部署中,为了防止日志文件过大,导致磁盘空间占用过多,我们需要...

Global site tag (gtag.js) - Google Analytics