python日志

__author__ = ‘Administrator‘
import re
ipa = {}
err_nb = {}
IES = {}
IES[‘AB‘] = [‘MSIE‘, ‘Firefox‘, ‘Chrome‘]
Logfile = ‘./access_log‘
f=open(Logfile, ‘r‘).readlines()
for i in f:
    ip=i.split()
    #print(ip[-8])
    for n in IES[‘AB‘]:
        if  re.search(n, i):
             if IES.get(n) == None:
                 IES.setdefault(n,1)
             else:
                 IES[n]+=1

    if ipa.get(ip[0]) == None:
        ipa.setdefault(ip[0], 1)
    else:
        ipa[ip[0]]+=1

    if err_nb.get(ip[8]) == None:
        err_nb.setdefault(ip[8], 1)
    else:
        err_nb[ip[8]] += 1

print(‘IP访问次数:‘)
sorted(ipa.items())
for i in ipa:
    print(i, ‘----->‘, ipa.get(i))

print(‘HTTP状态码数目:‘)
sorted(err_nb.items(), reverse=False)
for i in err_nb:
    print(i,‘----->‘,err_nb.get(i))

print(‘浏览器访问的数目:‘,IES.get(‘AB‘))
sorted(IES.items(),reverse=True)
for i in IES:
    if i == ‘AB‘:
        continue
    print(i,‘----->‘,IES.get(i))

running:

IP访问次数:
192.168.182.1 -----> 222
192.168.182.130 -----> 9
::1 -----> 6
HTTP状态码数目:
304 -----> 152
200 -----> 16
404 -----> 69
浏览器访问的数目: [‘MSIE‘, ‘Firefox‘, ‘Chrome‘]
Chrome -----> 122
Firefox -----> 67
MSIE -----> 33

时间: 2024-11-05 17:25:33

python日志的相关文章

Python日志之Python函数

Python日志之Python函数: 一.认识函数 1.什么是函数 函数,function,通俗来说,函数,就是功能的意思,函数是用来封装特定功能的,比如,在Python中,len()是一个函数,len()这个函数实现的功能可能是返回一个字符串的长度,所以说len()这个函数他的特定功能就是返回长度,再比如,我们可以定义一个函数,然后编写这个函数的功能,之后要使用的时候再调用这个函数.所以函数分为两种类型,一种是系统自带的不用我们编写其功能的,比如len()这种函数,再一种就是我们自己定义的,需

python日志分析

微秒   毫秒 datetime seek定位指针 从行尾到行首 fd.seek(-2,1)  1  当前位置 fd.tell() fd.seek(-2,2)  2   最后位置 fd.tell() fd.seek(0,0)   0  最前位置 read(1)读一位    read() 全部都读 tac与cat    行首到行尾 reversed   翻转字符串 只读一部分    通过时间判断 200 404  503  十分钟之内   第八列  apache.log 1.首先匹配时间格式, D

Python 日志工具(logging) 基础教程

什么是 logging ? 日志是跟踪软件运行时发生的事件,软件的开发人员可以通过日志快速的定位问题的位置.事件也分重要性即事件的严重程度. 什么时候使用日志? logging 提供了一组方便操作日志记录的功能,这些是 debug(), info(),warning(),error(),critical(). 通过想要执行的任务确定使用日志记录的方法. 你想要执行的任务 日志记录的最佳方法 一个脚本或程序显示在终端上 print() 程序正常运行过程中发生的事件 logging.info() o

Python日志产生器

Python日志产生器 写在前面 有的时候,可能就是我们做实时数据收集的时候,会有一个头疼的问题就是,你会发现,你可能一下子,没有日志的数据源.所以,我们可以简单使用python脚本来实现产生实时的数据,这样就很方便了 在编写代码之前,我们得知道我们的webserver日志到底长什么样,下面我找了一段的nginx服务器上真实日志,作为样例: 223.104.25.1 - - [21/Nov/2017:20:34:16 +0800] "GET / HTTP/1.1" 200 94 &qu

Python日志库的用法

日志不管对于开发或者运维都是一项非常重要的东西,它可以用来排错,解决故障,统计分析等. 本文介绍python中的日志库的用法. 日志库:import logging 要用日志需要先定义以下东西: 获取日志名,比如 logging.getLogger(__name__) 定义Handler,比如 logging.FileHandler('/var/log/messages') 设置级别,比如 fh.setLevel(logging.DEBUG) 定义格式,比如 formatter = loggin

python日志输出

import logging logger = logging.getLogger()  #生成一个日志对象,()内为日志对象的名字,可以不带,名字不给定就是root handler=logging.FileHandler("Log_test.txt")  #生成一个handler(处理器), #formatter 下面代码指定日志的输出格式 fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s' f

python日志的记录与保存

python程序中记录日志的方法详细可参考以下链接:http://blog.chinaunix.net/uid-27571599-id-3492860.html 在没有指定写入某日志文件的情况下,日志直接在控制台中显示.默认的日志级别是ERROR,所以如果忘了修改默认日志级别,低于此级别的日志将不会被记录. 另外注意一点,做日志测试时,文件不要命名为“logging.py”,否则将会出现AttributeError: 'module' object has no attribute 'basic

C/C++/C#/Python日志框架

俗话说,打得一手好log才是一个优秀的程序员. **打log的目的是为了迅速排错或在有争议时拿出证据证明自己.基于这个目的,log不在多,只要抓住一切对自己有利的信息,就可以了.** 日志框架列表 C/C++      spdlog  只需要引用头文件就可以了 C#      NLog  第三方库,性能比log4net好,支持跨平台 python       logging  自带模块

Python日志格式输出与时间格式

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s","%Y%b%d-%H:%M:%S") 上面的%Y等是时间格式,所以要想理解上面要表示个什么,先来看一下Python的时间格式. %a - abbreviated weekday name %A - full weekday name %b - abbreviated month name %B - full month name

python日志模块-logging

日志模块 logging logging模块主要可以根据自定义日志信息,在程序运行的时候将日志打印在终端及记录日志到文件中.在这先了解一下logging支持的日志五个级别 debug() 调试级别,一般用于记录程序运行的详细信息 info() 事件级别,一般用于记录程序的运行过程 warnning() 警告级别,,一般用于记录程序出现潜在错误的情形 error() 错误级别,一般用于记录程序出现错误,但不影响整体运行 critical 严重错误级别 , 出现该错误已经影响到整体运行 简单用法,将