⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doread.jsp.svn-base

📁 简单的日志分析工具
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
<%@ page language="java" contentType="text/html" pageEncoding="gb2312"%>

<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<%@page import="db.Transferdate;"%>
<html>
<head>

<title>read</title>

</head>
<body>

<%       //定义分析元素
                String ip = "";//IP
                String shijian = "";//时间
                String fangfa = "";//表单提交方式
                String url = ""; //URL
                String http = "";//HTTP协议版本
                String zhuangtai = "";//状态
                String daxiao = "";//大小
                String url3="";
                String iptemp="";//ip临时存储
                String jspurltemp="";//url临时存储
                String fgwnwtemp="";//发改委内网url临时存储
                
                //url类别临时存储
                String xxzltemp="";
                String xtdwtemp="";
                String wgzdttemp="";
                String pfwtemp="";
                String mrywtemp="";
                String pmtemp="";
                String ddjstemp="";
                String elsetemp="";
                
                
                String failreadurl404="";//页面状态404错误访问url
                String failreadurl500="";//页面状态500错误访问url
                String failreadurl501="";//页面状态501错误访问url
                String failreadurl503="";//页面状态503错误访问url
                String failreadurl505="";//页面状态505错误访问url
                String failreadurl302="";
                String failreadurl304="";
                String failreadurl200="";
                
                int xxzlnum=0;//信息资料
                int xtdwnum=0;//系统单位
                int wgzdtnum=0;//委工作动态
                int pfwnum=0;//普发文
                int mrywnum=0;//每日要闻
                int pmnum=0;//互动留言
                int ddjsnum=0;//党的建设
                int elsenum=0;//其他
                int jspnum=0;   //jsp页面点击数
                int picnum=0;  //图片读取数
                int fgwnwnum=0; //发改委内网页面点击数
                int failread200=0;//页面状态200访问
                int failread404=0;//页面状态404访问
                int failread500=0;//页面状态500访问
                int failread501=0;//页面状态501访问
                int failread503=0;//页面状态503访问
                int failread505=0;//页面状态505访问
                int failread302=0;//页面状态302访问
                int failread304=0;//页面状态304访问
                int ipnum=0;  //用户数
                
                
                //同一时间段访问数量
                int timenum0to1=0; int timenum1to2=0;
                int timenum2to3=0; int timenum3to4=0;
                int timenum4to5=0; int timenum5to6=0;
                int timenum6to7=0; int timenum7to8=0;
                int timenum8to9=0; int timenum9to10=0;
                int timenum10to11=0; int timenum11to12=0;
                int timenum12to13=0; int timenum13to14=0;
                int timenum14to15=0; int timenum15to16=0;
                int timenum16to17=0; int timenum17to18=0;
                int timenum18to19=0; int timenum19to20=0;
                int timenum20to21=0; int timenum21to22=0; 
                int timenum22to23=0; int timenum23to24=0;
                //时间段
                String time0="00:00 - 00:59"; String time1="01:00 - 01:59";
                String time2="02:00 - 02:59"; String time3="03:00 - 03:59";
                String time4="04:00 - 04:59"; String time5="05:00 - 05:59";
                String time6="06:00 - 06:59"; String time7="07:00 - 07:59";
                String time8="08:00 - 08:59"; String time9="09:00 - 09:59";
                String time10="10:00 - 10:59"; String time11="11:00 - 11:59";
                String time12="12:00 - 12:59"; String time13="13:00 - 13:59";
                String time14="14:00 - 14:59"; String time15="15:00 - 15:59";
                String time16="16:00 - 16:59"; String time17="17:00 - 17:59";
                String time18="18:00 - 18:59"; String time19="19:00 - 19:59";
                String time20="20:00 - 20:59"; String time21="21:00 - 21:59";
                String time22="22:00 - 22:59"; String time23="23:00 - 23:59";
                
                String busytime="";//访问率最高的时段
                String shijianstrtime="";
                
%> 
<%//得到文件全路径
String exceptdirs=(String)session.getAttribute("exceptdirs");
String dirs=(String)session.getAttribute("dirs");

String[] dirsarr=dirs.split("----");
String[] exedirsarr=null;
if(exceptdirs!=""){
	
		exedirsarr=exceptdirs.split("-");
	
	
}



//获取每个文件日期
List dirlist=new ArrayList();

for (int i=0;i<dirsarr.length;i++){
	String dirstr=dirsarr[i].toString().trim();
	String[] dirarrtemp=dirstr.split("\\.");
	String dirstrtime=dirarrtemp[1];
dirlist.add(dirstrtime.substring(0,dirstrtime.length()));
}
int filenum=dirlist.size();
int countjspnum[]=new int[filenum];
int countddjsnum[]=new int[filenum];
int countelsenum[]=new int[filenum];
int countfgwnum[]=new int[filenum];
int countmrywnum[]=new int[filenum];
int countpfwnum[]=new int[filenum];
int countpmnum[]=new int[filenum];
int countwgzdtnum[]=new int[filenum];
int countxtdwnum[]=new int[filenum];
int countxxzlnum[]=new int[filenum];




String records;//日志记录
List newrecords=new ArrayList();  
List timerecords=new ArrayList();
List fgwrecords=new ArrayList();
List jsprecords=new ArrayList();
List iprecords=new ArrayList();
List xxzl=new ArrayList();
List xtdw=new ArrayList();
List wgzdt=new ArrayList();
List pfw=new ArrayList();
List mryw=new ArrayList();
List pm=new ArrayList();
List ddjs=new ArrayList();
List elserecords=new ArrayList();
int n=0;


//逐行输出所选文件所有行存入list
for (int t=0;t<dirsarr.length;t++){
	String str=dirsarr[t].toString();
	str = new String(str.getBytes("ISO-8859-1"),"gb2312");
	InputStream in=new FileInputStream(str);
	BufferedReader br = new BufferedReader(new InputStreamReader(in));
	String record = br.readLine();
	
	while(record != null){
		int bijiao=0;
		if(exedirsarr!=null){
			for(int y=0;y<exedirsarr.length;y++){
				 if(record.substring(0,record.length()).indexOf(exedirsarr[y])!=-1){
                    bijiao=bijiao+1;
				 }
			 }
			if(bijiao==0){
				 newrecords.add(record.substring(0,record.length()));
			}

		}
		else{
			 newrecords.add(record.substring(0,record.length()));
		}
		
	     
	     
	     record=br.readLine();
	}
	    in.close();
}
    Collections.sort(newrecords);
    
    //按照字符串固定格式进行截取所需字符串
     for(int i = 0;i<newrecords.size();i++){
	      records=newrecords.get(i).toString(); 
          ip = records.substring(0,records.indexOf(" "));
          String  N = records.substring(records.indexOf(" ")+1);//除去第1段字符剩下的字符
          String  N2 = N.substring(N.indexOf(" ")+1);//除去第1段字符剩下的字符
          String  N4 = N2.substring(N2.indexOf(" ")+1);//除去第1段字符剩下的字符
          shijian = N4.substring(1,N4.indexOf(" "));//第4段字符(时间)
          String  N6 = N4.substring(N4.indexOf(" ")+1);//除去第1段字符剩下的字符
          String  N8 = N6.substring(N6.indexOf(" ")+1);//除去第1段字符剩下的字符
          fangfa = N8.substring(1,N8.indexOf(" ")+1);//第6段字符(方法)
          String  N10 = N8.substring(N8.indexOf(" ")+1);//除去第1段字符剩下的字符
          url = N10.substring(0,N10.indexOf(" "));//第7段字符(URL)
          //取url后三位
          if(url.length() > 3){
             url3 = url.substring(url.length()-4,url.length());
          }else {
    	     url3="";
          }
          String  N12 = N10.substring(N10.indexOf(" ")+1);//除去第1段字符剩下的字符
          http = N12.substring(0,N12.indexOf(" ")+1);     //第8段字符(HTTP)
          String  N14 = N12.substring(N12.indexOf(" ")+1);//除去第1段字符剩下的字符
          zhuangtai = N14.substring(0,N14.indexOf(" ")+1);//第9段字符 {状态}
          String  N16 = N14.substring(N14.indexOf(" ")+1);//除去第1段字符剩下的字符
          daxiao = N16.substring(N16.lastIndexOf(" ")+1); //第10段字符{大小}
          shijianstrtime=shijian.toString();
          Transferdate td=new Transferdate();
          String datetime=td.Transferdate(shijianstrtime);
    
          //计算图片页面访问
          if(url3.indexOf("gif")!=-1){
        	 picnum=picnum+1;
          }else if (url3.indexOf("jpg")!=-1){
        	 picnum=picnum+1;
          }else if(url3.indexOf("swf")!=-1){
        	 picnum=picnum+1;
          }else if(url3.indexOf("png")!=-1){
        	 picnum=picnum+1;
          }
       
       
          //比较ip,计算用户数,并记录ip
       
          if (iptemp.indexOf(ip)==-1){
             iptemp=iptemp+ip.toString()+"--";
             ipnum=ipnum+1;
          }
       
       
       
         //计算全部页面访问
          if(url3.indexOf("jsp")!=-1 || url3.indexOf("do")!=-1 || url3.indexOf("htm")!=-1
    	  || url3.indexOf("html")!=-1 || url3.indexOf("ws")!=-1){
    	       if(url3.indexOf("doc")==-1){
                   jspnum=jspnum+1; 
         
                   jsprecords.add(url.toString());
                   timerecords.add(shijianstrtime);
                   for(int x=0;x<dirlist.size();x++){
		        	   if(datetime.equals(dirlist.get(x))){
    		        	   countjspnum[x]=countjspnum[x]+1;
    		           }
		           }
                   if (jspurltemp.indexOf(url)==-1){
        	            jspurltemp=jspurltemp+url.toString()+"--";
                   }
         
                  //统计时间段访问数量 
                  shijianstrtime=shijian.toString();
                  shijianstrtime = shijianstrtime.substring(shijianstrtime.length()-9,shijianstrtime.length());
                  shijianstrtime = shijianstrtime.substring(1,3);
                  if(shijianstrtime.indexOf("00")!=-1){
            	        timenum0to1=timenum0to1+1;
                  }
                  if(shijianstrtime.indexOf("01")!=-1){
            	        timenum1to2=timenum1to2+1;
                  }
                  if(shijianstrtime.indexOf("02")!=-1){
            	        timenum2to3=timenum2to3+1;
                  }
                  if(shijianstrtime.indexOf("03")!=-1){
            	        timenum3to4=timenum3to4+1;
                  }
                  if(shijianstrtime.indexOf("04")!=-1){
            	        timenum4to5=timenum4to5+1;
                  }
                  if(shijianstrtime.indexOf("05")!=-1){
            	        timenum5to6=timenum5to6+1;
                  }
                  if(shijianstrtime.indexOf("06")!=-1){
            	        timenum6to7=timenum6to7+1;
                  }
                  if(shijianstrtime.indexOf("07")!=-1){
            	        timenum7to8=timenum7to8+1;
                  }
                  if(shijianstrtime.indexOf("08")!=-1){
            	        timenum8to9=timenum8to9+1;
                  }
                  if(shijianstrtime.indexOf("09")!=-1){
            	        timenum9to10=timenum9to10+1;
                  }
                  if(shijianstrtime.indexOf("10")!=-1){
            	        timenum10to11=timenum10to11+1;
                  }
                  if(shijianstrtime.indexOf("11")!=-1){
            	        timenum11to12=timenum11to12+1;
                  }
                  if(shijianstrtime.indexOf("12")!=-1){
            	        timenum12to13=timenum12to13+1;
                  }
                  if(shijianstrtime.indexOf("13")!=-1){
            	        timenum13to14=timenum13to14+1;
                  }
                  if(shijianstrtime.indexOf("14")!=-1){
            	        timenum14to15=timenum14to15+1;
                  }
                  if(shijianstrtime.indexOf("15")!=-1){
            	        timenum15to16=timenum15to16+1;
                  }
                  if(shijianstrtime.indexOf("16")!=-1){
            	        timenum16to17=timenum16to17+1;
                  }
                  if(shijianstrtime.indexOf("17")!=-1){
            	        timenum17to18=timenum17to18+1;
                  }
                  if(shijianstrtime.indexOf("18")!=-1){
            	        timenum18to19=timenum18to19+1;
                  }
                  if(shijianstrtime.indexOf("19")!=-1){
            	        timenum19to20=timenum19to20+1;
                  }
                  if(shijianstrtime.indexOf("20")!=-1){
            	        timenum20to21=timenum20to21+1;
                  }
                  if(shijianstrtime.indexOf("21")!=-1){
            	        timenum21to22=timenum21to22+1;
                  }
                  if(shijianstrtime.indexOf("22")!=-1){
            	        timenum22to23=timenum22to23+1;
                  }
                  if(shijianstrtime.indexOf("23")!=-1){
            	        timenum23to24=timenum23to24+1;
                  }
         
                  if (url.indexOf("/fgwnw/")!=-1){
        	           fgwnwnum=fgwnwnum+1;
        	           fgwrecords.add(url.toString());
        	           for(int x=0;x<dirlist.size();x++){
    		        	   if(datetime.equals(dirlist.get(x))){
        		        	   countfgwnum[x]=countfgwnum[x]+1;
        		           }
    		           }
        	           if (fgwnwtemp.indexOf(url)==-1){
        		       fgwnwtemp=fgwnwtemp+url.toString()+"--";
                       }
        	   
                  }
    	       }
          }
          //按照url类别统计访问资源
          if(url3.indexOf("jsp")!=-1 || url3.indexOf("do")!=-1 || url3.indexOf("htm")!=-1
    	  || url3.indexOf("html")!=-1 || url3.indexOf("ws")!=-1){
    	        if(url3.indexOf("doc")==-1){
    		       
    	           if  (url.indexOf("/fgwnw/xxzl")!=-1){
    		           xxzlnum=xxzlnum+1;
    		           xxzl.add(url.toString());
    		           for(int x=0;x<dirlist.size();x++){
    		        	   if(datetime.equals(dirlist.get(x))){
        		        	   countxxzlnum[x]=countxxzlnum[x]+1;
        		           }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -