iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python日志解析
  • 527
分享到

python日志解析

日志python 2023-01-31 01:01:37 527人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python字典的setdefault()方法 setdefault(key[, default]) If key is in the dictionary, return its value. If not, insert ke

python字典的setdefault()方法

setdefault(key[, default])

If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.

如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典 中插入这个键,并且以default为这个键的值,并返回 default。default的默认值为None

 

  1. >>> dict={} 
  2. >>> dict['key']='a' 
  3. >>> dict 
  4. {'key': 'a'} 
  5. >>> dict.setdefault('key', 'b')  # 键key存在,故返回简直a. 
  6. 'a' 
  7. >>> dict 
  8. {'key': 'a'} 
  9. >>> dict.setdefault('key0', 'b') # 键key0不存在,故插入此键,并以b为键值. 
  10. 'b' 
  11. >>> dict 
  12. {'key0': 'b', 'key': 'a'} 


日志分析

利用字典分析apache访问日志的脚本,以提取IP地址,字节数和状态

 

  1. #!/usr/bin/env Python 
  2. """ 
  3. USAGE: 
  4. apache_log.py some_log_file 
  5.  
  6. This script takes one command line argument:the name of a log file to parse.It then parses the lof file and generates a report which associates remote hosts with number of bytes transferred to them. 
  7. """ 
  8.  
  9. import sys 
  10.  
  11. def dictify_logline(line): 
  12.         split_line = line.split() 
  13.         return {'remote_host': split_line[0],'status':split_line[8],'bytes_sent':split_line[9]} 
  14.  
  15. def generate_log_report(logfile): 
  16.         report_dict = {} 
  17.         for line in logfile: 
  18.                 line_dict = dictify_logline(line) 
  19.                 print line_dict 
  20.                 try: 
  21.                         bytes_sent = int(line_dict['bytes_sent']) 
  22.                 except ValueError: 
  23.                         continue 
  24.                 report_dict.setdefault(line_dict['remote_host'],[]).append(bytes_sent) 
  25.         return report_dict 
  26.  
  27. if __name__ == "__main__": 
  28.         if not len(sys.argv) > 1: 
  29.                 print __doc__ 
  30.                 sys.exit(1) 
  31.         infile_name = sys.argv[1] 
  32.         try: 
  33.                 infile = open(infile_name,'r') 
  34.         except ValueError: 
  35.                 print "You must specify a valid file to parse" 
  36.                 sys.exit(1) 
  37.         log_report = generate_log_report(infile) 
  38.         print log_report 
  39.         infile.close() 

 

--结束END--

本文标题: python日志解析

本文链接: https://www.lsjlt.com/news/184007.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python日志解析
    Python字典的setdefault()方法 setdefault(key[, default]) If key is in the dictionary, return its value. If not, insert ke...
    99+
    2023-01-31
    日志 python
  • python分析nginx日志
    利用python脚本分析nginx日志内容,默认统计ip、访问url、状态,可以通过修改脚本统计分析其他字段。一、脚本运行方式python count_log.py -f med.xxxx.com.access.log二、脚本内容#!/us...
    99+
    2023-01-31
    日志 python nginx
  • 如何在Python中解析shell日志?
    Python是一种功能强大的编程语言,它被广泛应用于各种领域,包括数据分析、机器学习、网络编程等。在这些应用场景中,我们经常需要解析shell日志,以便了解程序的运行状态和性能指标。本文将介绍如何在Python中解析shell日志,并提供一...
    99+
    2023-10-27
    path 日志 shell
  • python正则捕获日志解析实例
       去年工作中的一个实例,觉得较有意思,由于实例需求较繁琐也不太典型,我只能稍作整理和修改后,和大家分享整个案例的需求以及我写脚本的思路和想法,希望对大家有参考的价值。      大概需求:主站有个js文件记录用户设备和IP信息以及在...
    99+
    2023-01-31
    正则 实例 日志
  • python 正则分析nginx日志
      有个需求要分析nginx日志,也懒得去研究logstach之类的开源工具,干脆直接写一个脚本,自己根据需求来实现:先看日志格式:我们跟别人的不太一样,所以没办法了:12.195.166.35 [10/May/2015:14:38:09 ...
    99+
    2023-01-31
    正则 日志 python
  • python分析nginx访问日志
    Web服务器的各种系统管理工作包括了多Nginx/Apache 日志的统计,python使这个任务变得极其简单,下面分享两个小脚本。一、统计Nginx的客户端缓存的命中率需要检查你的Nginx服务器拒绝客户请求的频率,服务器拒绝的原因是因为...
    99+
    2023-01-31
    日志 python nginx
  • Python 关于日志的分析
    项目情况介绍:基于Python 3.6.6 ,实现对nginx访问的日志分析代码,实现了对日志中code的占比统计和浏览器类型和访问情况统计实现的代码段有:1.编写窗户函数,实现在一定的时间内对数据进行分析2.通过正则表达式对日志进行匹配,...
    99+
    2023-01-31
    日志 Python
  • python打印日志实例分析
    这篇“python打印日志实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python打印日志实例分析”文章吧。一、必...
    99+
    2023-07-02
  • python日志
    log4py.py日志重构类 import datetime   import sys   import traceback   import codecs   import types   import logging import os...
    99+
    2023-01-31
    日志 python
  • python分析nginx日志的ip(来
    #!/usr/bin/env python #_*_coding:utf-8 _*_ __author__ = 'gaogd' import datetime,threading import sys, os, urllib2, json...
    99+
    2023-01-31
    日志 python nginx
  • 重做日志及归档日志的工作原理解析
    开门见山,先来看张图(PS:这张图是我从网上找的):工作原理:首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log gr...
    99+
    2024-04-02
  • MySQLRedo与Undo日志详细解析
    目录1. Redo日志的介绍1.1 Redo日志的作用1.2 Redo日志的格式与类型2. 写入Redo日志的流程(MTR)3. Checkpoint机制4. Undo日志介绍5. ...
    99+
    2022-11-13
    MySQL Redo MySQL Undo日志
  • 全面解析Android之ANR日志
    目录一、概述二、ANR产生机制2.1 输入事件超时(5s)2.2 广播类型超时(前台15s,后台60s)2.3 服务超时(前台20s,后台200s)2.4 ContentProvid...
    99+
    2024-04-02
  • Python编写日志分析小脚本
    import re def count_patt(fname, patt):result = {}cpatt = re.compile(patt)fobj = open(fname)for line in fobj:m = cpatt.se...
    99+
    2023-01-31
    脚本 日志 Python
  • 详解 python logging日志模块
    目录1.日志简介2.日志级别3.修改日志级别4.日志记录到文件5.指定日志格式6.记录器(logger)7.处理器(Handler)8.处理器操作9.格式器(formatter)10...
    99+
    2024-04-02
  • 怎么用SARG日志分析器来分析Squid日志
    本篇内容介绍了“怎么用SARG日志分析器来分析Squid日志”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  SARG是一款基于网络的工具,...
    99+
    2023-06-13
  • python日志模块loguru详解
    目录前言使用步骤安装库简单使用方法配置异常追溯总结前言 在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。py...
    99+
    2024-04-02
  • Python 日志(Log)
    日志? 日志,就是用来记录程序运行的时候都发生了什么事。 事件按严重程度划分level 事件内容: 时间 位置 事件的严重程度--level 内容 用logging模块实现 logging 模块 日志级别(level):DEB...
    99+
    2023-01-30
    日志 Python Log
  • python 3.x 分析日志的模块(正
    #导入正则模块 import re auth="no_shutdown_" ''' 分析日志的模块,查找日志中标志性信息产生的次数 ''' #定义你需要查找的对象的正则表达式wordcheck #需要分析的日志的路径filesource d...
    99+
    2023-01-31
    模块 日志 python
  • Python日志采集代码详解
    目录一,日志概述1,日志作用2,日志级别3,日志格式4,日志位置二,logging模块1,简介2,文档三,logging第一种使用方法:简单配置使用1,使用方法2,basicConf...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作