python分析分析apache访问日志脚本分享访问日志脚本分享
#!/usr/bin/env python
# coding=utf-8
#------------------------------------------------------
# Name: Apache 日志分析脚本
# Purpose: 此脚本只用来分析Apache的访问日志
# Version: 2.0
# Author: LEO
# Created: 2013-4-26
# Modified: 2013-5-4
# Copyright: (c) LEO 2013
#------------------------------------------------------
import sys
import time
#该类是用来打印格式
class displayFormat(object):
def format_size(self,size):
'''格式化流量单位'''
KB = 1024
MB = 1048576
GB = 1073741824
TB = 1099511627776
if size >= TB :
size = str(size / TB) + 'T'
elif size < KB :
size = str(size) + 'B'
elif size >= GB and size < TB:
size = str(size / GB) + 'G'
elif size >= MB and size < GB :
size = str(size / MB) + 'M'
else :
size = str(size / KB) + 'K'
return size
formatstring = '%-15s %-10s %-12s %8s %10s %10s %10s %10s %10s %10s %10s'
def transverse_line(self) :
'''输出横线'''
print self.formatstring % ('-'*15,'-'*10,'-'*12,'-'*12,'-'*10,'-'*10,'-'*10,'-'*10,'-'*10,'-'*10,'-'*10)
def head(self):
'''输出头部信息'''
print self.formatstring % ('IP','Traffic','Times','Times%','200','404','500','403','302','304','503')
def error_print(self) :
'''输出错误信息'''
print
print 'Usage : ' + sys.argv[0] + ' ApacheLogFilePath [Number]'
print
sys.exit(1)
def execut_time(self):
'''输出脚本执行的时间'''
print
print "Script Execution Time: %.3f second" % time.clock()
print
#该类是用来生成主机信息的字典
class hostInfo(object):
host_info = ['200','404','500','302','304','503','403','times','size']
def __init__(self,host):
self.host = host = {}.fromkeys(self.host_info,0)
评论0
最新资源