Package org.web.acesslog

Examples of org.web.acesslog.Access


   */
  @Override
  public Access parse(String line,String includeExtn) {
    StringTokenizer tokenizer = new StringTokenizer(line, delimiter);
    Iterator<String> formatItr = formatLst.iterator();
    Access access = new Access();
    boolean isIncludeExtn = false;
    //int i = 0;
    while (formatItr.hasNext()) {
      while (tokenizer.hasMoreTokens()) {
        String token = tokenizer.nextToken();
        //System.out.println(token);
        String format = formatItr.next();
        if ("%a".equals(format)) {
          access.setRemoteIpAddr(token);
        }else if ("%A".equals(format)) {
          access.setLocalIpAddr(token);
        }else if ("%b".equals(format)) {
          access.setBytesSent(token);
        }else if ("%h".equals(format)) {
          access.setRemoteHostName(token);
        }else if ("%H".equals(format)) {
          access.setRequestProtocol(token);
        }else if ("%l".equals(format)) {
          access.setRemoteLogicalUserName(token);
        }else if ("%m".equals(format)) {
          access.setRequestMethod(token);
        }else if ("%p".equals(format)) {
          access.setLocalPort(token);
        }else if ("%q".equals(format)) {
          access.setQueryString(token);
        }else if ("%r".equals(format)){
          //Specific handling for url string.
          access.setRequestMethod(token);
          String url = tokenizer.nextToken();
          if(url.contains("?")){
            url = url.substring(0, url.indexOf("?"));
            access.setFirstLineOfRequest(url);
          }else{
            access.setFirstLineOfRequest(url)
          }
          if(includeExtn==null || NONE.equalsIgnoreCase(includeExtn)){
            //Do nothing.
          }else{
            StringTokenizer includeExtnTokenizer = new StringTokenizer(includeExtn,",");
            while (includeExtnTokenizer.hasMoreTokens()) {
              String extension = includeExtnTokenizer.nextToken();
              if(url.contains(extension)){
                isIncludeExtn = true;
              }
            }
          }
          access.setRequestProtocol(tokenizer.nextToken());
        }else if ("%s".equals(format)) {
          access.setHttpStatusCode(token);
        }else if ("%S".equals(format)) {
          access.setUserSessionId(token);
        }else if ("%t".equals(format)) {
          //Specific handling for this required since [ is used with space for timezone offset
          access.setDateTime(token + tokenizer.nextToken());
        }else if ("%u".equals(format)) {
          access.setRemoteUser(token);
        }else if ("%U".equals(format)) {
          access.setRequestedUrlPath(token);
        }else if ("%v".equals(format)) {
          access.setLocalServerName(token);
        }else if ("%D".equals(format)) {
          access.setTimeTakeInMilliSec(token);
        }else if ("%T".equals(format)) {
          access.setTimeTakeInSec(token);
        }else if ("%I".equals(format)) {
          access.setCurrentRequestThreadName(token);
        }
      }
    }
    if(isIncludeExtn){
      return access;
View Full Code Here

TOP

Related Classes of org.web.acesslog.Access

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.