基于web服务器日志的访问流量统计

topping 2004-04-25 06:21:48
下面是用asp编写的基于apache服务器访问日志的访问流量统计程序
<%
'totalVisit变量存储总访问量,二维数组Statistic用户保存一年12个月每一天的访问量
dim Statistic(11,30)
dim totalVisit
for i=0 to 11
for j=0 to 30
Statistic(i,j)=0
next
next
totalVisit=0
'打开日志文件
set fso=server.createObject("scripting.fileSystemObject")
set logFile=fso.openTextFile("c:\Apache2\logs\access.log")
'读取所有记录,并统计每一天的访问量
do while not logFile.atEndOfLine
totalVisit=totalVisit+1
record=logFile.readLine
startPos=instr(record,"/")
timeStr=mid(record,startPos+1,3)
dayStr=Cint(mid(record,startPos-2,2))
for k=0 to 30
if (k+1)=dayStr then
select case timeStr
case "Jan" Statistic(0,k)=Statistic(0,k)+1
case "Feb" Statistic(1,k)=Statistic(1,k)+1
case "Mar" Statistic(2,k)=Statistic(2,k)+1
case "Apr" Statistic(3,k)=Statistic(3,k)+1
case "May" Statistic(4,k)=Statistic(4,k)+1
case "Jun" Statistic(5,k)=Statistic(5,k)+1
case "Jul" Statistic(6,k)=Statistic(6,k)+1
case "Aug" Statistic(7,k)=Statistic(7,k)+1
case "Sep" Statistic(8,k)=Statistic(8,k)+1
case "Oct" Statistic(9,k)=Statistic(9,k)+1
case "Nov" Statistic(10,k)=Statistic(10,k)+1
case "Dec" Statistic(11,k)=Statistic(11,k)+1
end select
end if
next
loop
'输出统计信息
response.write("<center>Apache Web服务器日志分析<p>")
response.write("2003年总流量:"&totalVisit&"<br>")
response.write("<table border=1 cellspacing=0 cellpadding=0 style='font-size:10pt'>")
response.write("<tr>")
response.write("<td> </td>")
for n=1 to 31
response.write("<td align=center>"&n&"日</td>")
next
response.write("<td>月流量</td>")
response.write("<tr>")
for i=0 to 11
sum=0
response.write("<tr height=26>")
response.write("<td align=center>"&i+1&"月</td>")
for j=0 to 30
response.write("<td align=center>"&Statistic(i,j)&"</td>")
sum=sum+Statistic(i,j)
next
response.write("<td>"&sum&"</td>")
next
%>

下面是用asp编写的基于apache服务器访问日志的访问流量统计程序CH09_logAnalyzer.asp,
<%
'totalVisit变量存储总访问量,二维数组Statistic用户保存一年12个月每一天的访问量
dim Statistic(11,30)
dim totalVisit
for i=0 to 11
for j=0 to 30
Statistic(i,j)=0
next
next
totalVisit=0
'打开日志文件
set fso=server.createObject("scripting.fileSystemObject")
set logFile=fso.openTextFile("c:\Apache2\logs\access.log")
'读取所有记录,并统计每一天的访问量
do while not logFile.atEndOfLine
totalVisit=totalVisit+1
record=logFile.readLine
startPos=instr(record,"/")
timeStr=mid(record,startPos+1,3)
dayStr=Cint(mid(record,startPos-2,2))
for k=0 to 30
if (k+1)=dayStr then
select case timeStr
case "Jan" Statistic(0,k)=Statistic(0,k)+1
case "Feb" Statistic(1,k)=Statistic(1,k)+1
case "Mar" Statistic(2,k)=Statistic(2,k)+1
case "Apr" Statistic(3,k)=Statistic(3,k)+1
case "May" Statistic(4,k)=Statistic(4,k)+1
case "Jun" Statistic(5,k)=Statistic(5,k)+1
case "Jul" Statistic(6,k)=Statistic(6,k)+1
case "Aug" Statistic(7,k)=Statistic(7,k)+1
case "Sep" Statistic(8,k)=Statistic(8,k)+1
case "Oct" Statistic(9,k)=Statistic(9,k)+1
case "Nov" Statistic(10,k)=Statistic(10,k)+1
case "Dec" Statistic(11,k)=Statistic(11,k)+1
end select
end if
next
loop
'输出统计信息
response.write("<center>Apache Web服务器日志分析<p>")
response.write("2003年总流量:"&totalVisit&"<br>")
response.write("<table border=1 cellspacing=0 cellpadding=0 style='font-size:10pt'>")
response.write("<tr>")
response.write("<td> </td>")
for n=1 to 31
response.write("<td align=center>"&n&"日</td>")
next
response.write("<td>月流量</td>")
response.write("<tr>")
for i=0 to 11
sum=0
response.write("<tr height=26>")
response.write("<td align=center>"&i+1&"月</td>")
for j=0 to 30
response.write("<td align=center>"&Statistic(i,j)&"</td>")
sum=sum+Statistic(i,j)
next
response.write("<td>"&sum&"</td>")
next
%>

请问如何设置apache 服务器的环境,如何调试才可以出现正确的结果,谢谢!
...全文
259 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
topping 2004-09-14
  • 打赏
  • 举报
回复
这样的帖子结帖实在心有不甘!CSDN这样强制结帐的做法实在太差!
BeerWang 2004-07-09
  • 打赏
  • 举报
回复
我也在做这个问题,不过我用的是php,,不知道如何下手,,有没有高手指点一下呀??
52juanjuan 2004-04-25
  • 打赏
  • 举报
回复
看手册

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧