Changes between Version 6 and Version 7 of LogParser


Ignore:
Timestamp:
Jul 4, 2008, 4:46:02 PM (16 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LogParser

    v6 v7  
    6767 = LogParser.java =
    6868{{{
    69 package tw.org.nchc.code;
     69  private static Pattern p = Pattern
     70  .compile("([^ ]*) ([^ ]*) ([^ ]*) \\[([^]]*)\\] \"([^\"]*)\"" +
     71                  " ([^ ]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\".*");
     72}}}
    7073
    71 import java.text.ParseException;
     74{{{
     75  public LogParser(String line) throws ParseException, Exception{
     76         Matcher matcher = p.matcher(line);
     77         if(matcher.matches()){
     78                 this.ip = matcher.group(1);
     79                 // IP address of the client requesting the web page.
     80                 if(isIpAddress(ip)){
     81                         SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z",Locale.US);
     82                         this.timestamp = sdf.parse(matcher.group(4)).getTime();
     83                         String[] http = matcher.group(5).split(" ");
     84                         this.method = http[0];
     85                         this.url = http[1];
     86                         this.protocol = http[2];
     87                         this.code = matcher.group(6);
     88                         this.byteSize = matcher.group(7);
     89                         this.referrer = matcher.group(8);
     90                         this.agent = matcher.group(9);
     91                 }
     92         }
     93  }
     94}}}
    7295
    73 import java.text.SimpleDateFormat;
    74 
    75 import java.util.Locale;
    76 
    77 import java.util.StringTokenizer;
    78 
    79 import java.util.regex.Matcher;
    80 
    81 import java.util.regex.Pattern;
    82 
    83 public class LogParser {
    84 
    85   private String ip;
    86 
    87   private String protocol;
    88 
    89   private String method;
    90 
    91   private String url;
    92 
    93   private String code;
    94 
    95   private String byteSize;
    96 
    97   private String referrer;
    98 
    99   private String agent;
    100 
    101   private long timestamp;
    102 
    103   private static Pattern p = Pattern
    104 
    105   .compile("([^ ]*) ([^ ]*) ([^ ]*) \\[([^]]*)\\] \"([^\"]*)\"" +
    106 
    107                   " ([^ ]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\".*");
    108 
    109   public LogParser(String line) throws ParseException, Exception{
    110 
    111          Matcher matcher = p.matcher(line);
    112 
    113          if(matcher.matches()){
    114 
    115                  this.ip = matcher.group(1);
    116 
    117                  // IP address of the client requesting the web page.
    118 
    119                  if(isIpAddress(ip)){
    120 
    121                          SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z",Locale.US);
    122 
    123                          this.timestamp = sdf.parse(matcher.group(4)).getTime();
    124 
    125                          String[] http = matcher.group(5).split(" ");
    126 
    127                          this.method = http[0];
    128 
    129                          this.url = http[1];
    130 
    131                          this.protocol = http[2];
    132 
    133                          this.code = matcher.group(6);
    134 
    135                          this.byteSize = matcher.group(7);
    136 
    137                          this.referrer = matcher.group(8);
    138 
    139                          this.agent = matcher.group(9);
    140 
    141                  }
    142 
    143          }
    144 
    145   }
    146 
     96{{{
    14797  public static boolean isIpAddress(String inputString) {
    14898
     
    154104
    155105    }
    156 
     106}}}
     107{{{
    157108    try {
    158109