精华内容
下载资源
问答
  • Tomcat日志分析

    千次阅读 2015-10-17 21:25:44
    tomcat日志分析

    目的:网站建成运行后,每访问一次tomcat都会生成一行访问记录,并保存到当天的日志中。我们通过自定义tomcat的日志参数,就可以分析出访问网站的各种数据。


    第一步:配置tomcat日志参数。

    找到tomcat文件夹下的server.xml文件,添加:

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
    </Host>
    

    其中pattern中的参数就可以指定生成的日志中都包含什么参数,具体是什么参看

    http://blog.csdn.net/lk_cool/article/details/4561306/
    配置好了日志生成类型,就可以进行几次访问,使其生成指定数据,用以分析测试。

    第二步:编写文件访问代码

    其实这一步就是java访问txt文件的步骤,代码如下:

    try {
        String encoding = "GBK";
        File file = new File("文件的位置");
        int i = 0;
        if (file.isFile() && file.exists()) { // 判断文件是否存在
            InputStreamReader read = new InputStreamReader(
                    new FileInputStream(file), encoding);
            BufferedReader bufferedReader = new BufferedReader(read);
            String lineTxt = null;
            while ((lineTxt = bufferedReader.readLine()) != null) {
                //读取到文件后的执行逻辑
            }
            read.close();
        } else {
            System.out.println("找不到指定的文件");
        }
    } catch (Exception e) {
        System.out.println("读取文件内容出错");
        e.printStackTrace();
    }
    

    第三步:执行业务逻辑

    当你拿到每一行的日志后,就会有很多方式分析了,如正则匹配方式,contains字符串方式,根据特定字符拆分方式,等等。剩下一些细节问题,就要根据业务不同而各有异同了。

    展开全文
  • tomcat日志分析

    2020-05-23 16:03:35
    这些日志文件的产生是在tomcat/conf/logging.properties中配置的 #配置tomcat日志输出方式,分为文件输出和控制台输出 handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli....

    tomcat/logs目录下的文件

    在这里插入图片描述

    这些日志文件的产生是在tomcat/conf/logging.properties中配置的

    #配置tomcat的日志输出方式,分为文件输出和控制台输出
    handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apac
    he.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
    .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

    #日志级别SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
    1catalina.org.apache.juli.FileHandler.level = FINE
    #文件输出位置
    1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    #日志前缀
    1catalina.org.apache.juli.FileHandler.prefix = catalina.
    

    2localhost.org.apache.juli.FileHandler.level = FINE
    2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    2localhost.org.apache.juli.FileHandler.prefix = localhost.

    3manager.org.apache.juli.FileHandler.level = FINE
    3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    3manager.org.apache.juli.FileHandler.prefix = manager.

    4host-manager.org.apache.juli.FileHandler.level = FINE
    4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

    #控制台日志输出级别
    java.util.logging.ConsoleHandler.level = FINE
    #控制台日志输出格式化类
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
    
    #每个日志文件的输出级别和处理类
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
    

    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

    一点个人理解

    # 一个是针对FileHandler处理类的日志级别设置,一个是针对生成的文件的级别设置,我的理解是localhost文件中的日子信息是INFO级别的
    2localhost.org.apache.juli.FileHandler.level = FINE
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
    

    log4j的日志如何查看

    基础知识准备

    #Appender:日志输出器,配置日志的输出级别、输出位置等,包括以下几类:
     ConsoleAppender: 日志输出到控制台;
    FileAppender:输出到文件;
    RollingFileAppender:输出到文件,文件达到一定阈值时,自动备份日志文件;
    DailyRollingFileAppender:可定期备份日志文件,默认一天一个文件,也可设置为每分钟一个、每小时一个;
    WriterAppender:可自定义日志输出位置。
    

    log4j.xml文件配置分析

    #输出到文件,达到一定阈值,自动备份日志文件 
     <appender name="WEBOS_FILE" class="org.apache.log4j.RollingFileAppender">
         #输出文件位置${catalina.base}=tomcat
         <param name="File" value="${catalina.base}/logs/WEBOSLog.log"/>
    	 #true在现有日志文件后追加填写日志,false则重启后删除原有文件重新写入。
         <param name="Append" value="true"/>
    	 #一个日志文件最大多少
         <param name="MaxFileSize" value="5242880" />
    	 #最多备份多少个文件
         <param name="MaxBackupIndex" value="9" />
    	 #日志输出格式
         <layout class="com.ysy.webos.logger.logFormatter"/>
      </appender>
      
      
      #日志输出到控制台,也就是tomcat/logs/catalina.out文件中
        <appender name="WEBOS_CONSOLE" class="org.apache.log4j.ConsoleAppender">
         <param name="Threshold" value="WARN"/>
         <param name="Target" value="System.out"/>
         <layout class="com.ysy.webos.logger.logFormatter"/>
       </appender>
       
       #用category标签把上面的两个配置合在一起
        <category name="YSYWEBLog">
        <priority value="INFO"/>
        <appender-ref ref="YSYWEB_FILE"/>
        <appender-ref ref="YSYWEB_CONSOLE"/>
      </category>
    

    使用方法

    使用以下语句获取到log对象,即可记录日志

    Logger log4jLogger = LogManager.getLogger("YSYCWEBLog");
    

    日志结果查看

    从log4j.xml中可以看出,日志是记录在${catalina.base}/logs/ysyweb.log和catalina.out日志文件中。

    展开全文
  • iis日志分析和tomcat日志分析(python语言),并显示出攻击方式、攻击ip以及ip归属地
  • tomcat日志分析器.jar

    2019-06-03 17:43:23
    用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。...如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar)
  • 常使用web服务器的朋友大都了解...现在我来和大家介绍一下利用tomcat产生的访问日志数据,我们能做哪些有效的分析数据?首先是配置tomcat访问日志数据,默认情况下访问日志没有打开,配置的方式如下:编辑 ${catalin...

    常使用web服务器的朋友大都了解,一般的web server有两部分日志:

    一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息

    二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。

    现在我来和大家介绍一下利用tomcat产生的访问日志数据,我们能做哪些有效的分析数据?

    首先是配置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 访问所使用的时间

    有了这些数据,我们可以根据时间段做以下的分析处理(图片使用jfreechart工具动态生成):

    独立IP数统计

    访问请求数统计

    访问资料文件数统计

    访问流量统计

    访问处理响应时间统计

    统计所有404错误页面

    统计所有500错误的页面

    统计访问最频繁页面

    统计访问处理时间最久页面

    统计并发访问频率最高的页面

    分析工具包括两大部分:

    第一个是后台解释程序,每天执行一次对后台日志数据进行解析后保存到数据库中。

    第二个是显示程序,从数据库中查询数据并生成相应的图表信息。

    展开全文
  • iis日志分析和tomcat日志分析(python)demo,请去http://download.csdn.net/detail/wyazyf/9844906页面中下载

    请参考资源:

    http://download.csdn.net/detail/wyazyf/9844906

    展开全文
  • 在server.xml里的标签下加上directory="logs" prefix="localhost_access_log." suffix=".txt...就可以了,下面咱们逐一分析各个参数。className官方文档上说了This MUST be set to org.apache.catalina.valve...
  • Linux下配置Tomcat日志分析 awstats 里面有详细配置说明以及需要修改的tomcat配置文件 和jar包等等
  • # -*- coding: utf-8 -*"""# 1.统计访问状态码和状态码数量;# 2.统计访问IP地址和数量,查看是否有刷机用户;# 3....# 4.使用方法为:python ck_log.py 2017-01-12 (后面的时间根据需要手动设置)"""import osimport ...
  • 常使用web服务器的朋友大都了解...现在我来和大家介绍一下利用tomcat产生的访问日志数据,我们能做哪些有效的分析数据?首先是配置tomcat访问日志数据,默认情况下访问日志没有打开,配置的方式如下:编辑 ${catalin...
  • hadoop mapreduce 分析tomcat 日志
  • 大家在做分布式web系统的时候,比如那么多个tomcat,每天都会产生很多的日志(虽然已经按小时进行日志拆分了,但日志内容还是很大,vim查日志的时候很慢),而且那么多个tomcat,每个tomcat都要去查询,这样日志查询会...
  • Tomcat日志分析的结果:jps的名称和个数统计,并插入mysql数据库 3.在mysql(本地,我的是MacOS)中建库建表: create database company; create table mydata( jsname varchar(50), countNumber int(11)); 4....
  • 现在获得了每天的tomcat日志,可是怎么分析每天的访问量呢?有没有什么单机版的工具呢?
  • packagecom.fjn.tools.log.reader.parser;importjava.util.LinkedList;importjava.util.List;importjava.util.Scanner;importjava.util.StringTokenizer;importcom.fjn.tools.log.reader.LogReader.ContinueRead;...
  • tomcat日志分析详解

    2016-08-02 15:22:00
    这个东西是日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,当然你也可以修改,我就给改成了D:   prefix   这个是日志文件的名称前缀,我的日志名称为localhost_...
  • Apache tomcat 日志分析

    2014-10-15 17:47:04
    1,查看apache进程:ps aux | grep httpd | grep -v grep | wc -l 2,查看80端口的tcp连接:netstat -tan | ...3,通过日志查看当天ip连接数,过滤重复: cat access_log | grep "24/Jul/2007" | awk '{prin...
  • Tomcat 源码过程中,控制台日志打印的都是 INFO 级别的日志,于是就想修改下日志级别,打印 Digester 类的 DEBUG 级别的日志,便于观察 Digester 类解析 server.xml 的流程,顺便跟踪了一下 Tomcat 使用日志的流程,...
  • ref[使用awstats监控Tomcat日志] http://3179137.blog.51cto.com/3169137/1718572 ref1[Linux 日志分析工具之awstats详解]http://freeloda.blog.51cto.com/2033581/1346412/ 源码$cd Download $wget ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,341
精华内容 536
关键字:

tomcat日志分析