首页 > 编程语言 >简单的python3脚本:从日志中提取信息

简单的python3脚本:从日志中提取信息

时间:2023-04-19 18:45:27浏览次数:35  
标签:提取 installs contains filename file upgrades 日志 line python3

命名:log_extractor.py or download_stats_extractor.py

# coding:utf-8
#!/usr/bin/python3

def filter_line(line,contains,contains_not):
    if all(c in line for c in contains) and not any(n in line for n in contains_not):
        if int(line.split()[8]) == 200 and int(line.split()[9]) > 10000:  #  Additional rules added 
            return line.strip()

def count_installs_and_upgrades(line):
    elements = line.strip().split(' ')
    filename = elements[6]
    if 'electron-builder' in line:
        return {'file': filename, 'installs': 0, 'upgrades': 1}
    else:
        return {'file': filename, 'installs': 1, 'upgrades': 0}

file = 'test.log'
contains = ['GET','download']
contains_not = ['xx']

counts = {}
with open(file,'r') as f:
    while True:
        line = f.readline()
        if not line:
            break

        filtered_line = filter_line(line,contains,contains_not)

        if filtered_line:
            #print(filtered_line)
            result = count_installs_and_upgrades(line)
            filename = result['file']
            if filename in counts:
                counts[filename]['installs'] += result['installs']
                counts[filename]['upgrades'] += result['upgrades']
            else:
                counts[filename] = result
            
for file, data in counts.items():
    print(file, "Installations:", data['installs'], "Upgrades:", data['upgrades'])

标签:提取,installs,contains,filename,file,upgrades,日志,line,python3
From: https://www.cnblogs.com/dewan/p/17334296.html

相关文章

  • AOP实现日志打印
    packagecom.youmu.framework.love.interfaces;importjava.lang.annotation.*;/***@Author:guodong*@CreateTime:2023-04-1916:38*@Description:自定义注解日志类*@Version:1.0*/@Documented@Target(ElementType.METHOD)//注解的作用类型为方法@Rete......
  • TFA-收集日志及分析
    下载https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=272133523880062&id=1513912.1&_afrWindowMode=0&_adf.ctrl-state=fghvcgapa_617a安装[root@rhel75~]#./ahf_setupAHFInstallerforPlatformLinuxArchitecturex86_64AHFIns......
  • Mac Os Python3安装与配置
    1.安装 使用brew命令安装,未安装Homebrew,详见官网安装方法 https://brew.sh/brewinstallpython3安装好后配置环境变量exportPATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH测试安装是否成功python3--versionPytho......
  • LInux单机部署ELK日志收集
    LInux单机部署ELK日志收集一、环境准备centos7cpu:1核内存:8G#安装vim,wget,net-tools设置主机名:vim/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.local......
  • cronolog工具切割nohup运行日志
    1.日志分割:随着JAVA服务线上运行,默认单个日志文件占用磁盘空间会越来越大,查看文件信息不方便,故需要对日志文件进行分割,这里借用第三方工具cronolog切割,因为网上有很多种切分方式,要么不行要么不好用。 2.安装cronologA.yum在线安装:yuminstall-ycronolog;B.rpm离......
  • 【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操
    问题描述在AzureAppService的门户上LogStream日志无输出,需要如何操作让其输出ApplicationLogs呢?如下图所示:问题解答请注意,上图中提示说:Applicationlogsareswitchedoff. YoucanturnthemonusingtheAppServiceLogsSettings.应用日志关闭,可以通过AppServiceL......
  • python3路径
    (1)在windows中,有效路径为:c:d:/e:\e:\gite:/git转为e:\git不能双写\\或者//(2)python中os.listdir(pa)如果是直接调用,参数pa=”i:”,获取的就是i:下的子文件或子目录而通过pyqt调用,参数pa=”i:”,居然获取的是当前运行py所在目录的子文件和子目录。这时,需要使调用参数pa为......
  • rsyslog读取应用服务器nginx日志文件并发送至日志服务器
    现将云主机上的nginx服务的日志发送到日志服务器进行归档备份,后期还会考虑对备份后的nginx日志进行ELK分析,目前因为只是简单的备份日志文件,所以我就使用rsyslog来完成日志的备份。目标:使用rsyslog服务同步nginx服务的access.log和error.log日志文件到日志服务器。说明:一台部署......
  • 农业大数据|提取遥感影像指定经纬度的WDRVI并与LAI回归分析
    实验目的​ 熟练遥感数据的处理流程;通过探讨地面测量的叶面积指数与遥感观测的植被指数关系,理解地面测量数据与遥感观测数据的联系。实验内容预处理遥感数据,得到WDRVI指数影像,并提取地面观测LAI对应时间,卫星观测的试验田所在位置的WDRVI均值。对比LAI与WDRVI指数,构建模型,绘......
  • win系统快速搭建日志查看系统Log Parser Studio
    使用LogParserStudio 一共两步一、软件下载地址:LogParser2.2 Download:https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24659 LogParserStudiodownload: https://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765 二......