首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Pyhon制作脚本提取日志数据

Pyhon制作脚本提取日志数据

原创
作者头像
深雾
修改于 2020-08-17 02:05:00
修改于 2020-08-17 02:05:00
65600
代码可运行
举报
文章被收录于专栏:工具类工具类
运行总次数:0
代码可运行

Python

可能是java和lua的基础,这门语言学起来莫名的快,安装环境看了半天基础语法就开始写脚本了。

需求

提取log日志文件夹的日志,error错误日志和add数据信息,定时更新当前日期的最新日志信息

脚本

需求还需要定时更新查找当天日志文件,后面补上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os,sys,io,importlib
sys.setrecursionlimit(10000000)
importlib.reload(sys)
final = []
#work为绝对路径,windos下"d:/ProgramH5Server/H5_server_lj/log"
#linux运行1:chmod a+x log.py  2:sed -i 's/\r$//' log.py 3./log.py
work = "d:/ProgramH5Server/H5_server_lj/log"
for root,dirs,files in os.walk(work): 
    for file in files: 
        final.append(os.path.join(root,file))    
 
def writeline(file):
    filename = file
    log_dir = os.path.join(work, filename)
    with io.open(log_dir, 'r', encoding='utf-8') as f: 
        print(file)
        lines = f.readlines()
        error_line = []
        operate_line = []
        for line in lines:
            if 'Error' in line or 'ERROR' in line or 'Exception' in line or 'EXCEPTION' in line or './' in line :
                error_line.append(line)
            elif '---add' in line :
                operate_line.append(line)
 
    errorlogname = 'error.log'
    operatelogname = 'operate.log'
    resultwork = os.path.dirname(__file__)
    log_a = os.path.join(resultwork, errorlogname)
    log_b = os.path.join(resultwork, operatelogname)
    with io.open(log_a, 'a',encoding='utf-8') as result:
        result.write('日志文件错误:'+ file)
        for i in list(set(error_line)):
            result.write(i)
    with open(log_b, 'a', encoding='utf-8') as result:
        result.write('日志文件操作:'+ file)
        for i in list(set(operate_line)):
            result.write(i)
 
for file in final:
    writeline(file)
 
#定时

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Appium实现深度UI遍历工具(四)代码实现篇(上)
终于来到了代码编写的地方了,提前预告,所有代码都将放到github上面,作为我开源的项目,并且在以后会进行维护。文末我会贴上开源地址。
雷子
2022/05/21
1K0
基于Appium实现深度UI遍历工具(四)代码实现篇(上)
包,软件开发目录规范
为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要,简而言之就是把软件代码分文件目录。假设你要写一个ATM软件,你可以按照下面的目录结构管理你的软件代码:
小小咸鱼YwY
2019/07/24
6320
Django之logging日志
简介 Django使用python自带的logging 作为日志打印工具。简单介绍下logging。 logging 是线程安全的,其主要由4部分组成: Logger  用户使用的直接接口,将日志传递给Handler Handler  控制日志输出到哪里,console,file…  一个logger可以有多个Handler Filter  控制哪些日志可以从logger流向Handler Formatter  控制日志的格式 使用 项目里sesetti.py里配置 Django通过在settings文件中
人生不如戏
2018/04/12
2.5K0
Django之logging日志
Django实战-日志
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/09/17
4810
Django实战-日志
跨库数据备份还原、迁移工具
数据开发过程中,为了确保生产数据库安全,一般将实时数据同步、备份到本地测试数据库完成开发工作,最后部署应用。
用户8949263
2022/04/08
1.2K0
跨库数据备份还原、迁移工具
Vue + Flask 实战开发系列(三)
通过前面两篇文章,我们已经初步实现了一些简单的接口。还有很多需要做的工作,比如项目结构优化,接口请求权限控制等等。接下来,首先来优化一下,我们的项目结构。前面我们的所有程序,都是写在一个文件中的,这显然是不合理的。这次内容中,我们将使用 Flask 的 Blueprint 功能,完成项目结构的改进和优化。Blueprint 对于大型应用程序非常有价值,可以简化大型应用程序的工作。这次内容有涉及三个方面。第一,完善项目结构;第二、重构 author 接口接口;第三、新增 books 相关接口。
TalkPython
2020/06/19
3.7K0
Flask搭建ES搜索引擎(二)
上一篇简单说了下 ES 在 Python 的增删改查,手把手教你使用Flask搭建ES搜索引擎(预备篇)。
Python进阶者
2020/08/02
6180
loguru 简单方便的 Python 日志记录管理模块
在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样。在使用时我们需要配置一些 Handler、Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份。但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐。
王图思睿
2021/06/16
1.6K0
使用EasyOCR库进行OCR文字识别介绍与实践
Tips: 在其官网有demo演示,我们可以使用其进行简单图片ocr识别,地址为https://www.jaided.ai/easyocr/ 或者 https://huggingface.co/spaces/tomofi/EasyOCR
全栈工程师修炼指南
2022/09/29
10.5K0
使用EasyOCR库进行OCR文字识别介绍与实践
基于模板的中文命名实体识别数据增强
本文将介绍一种基于模板的中文命名实体识别数据增强方法,自然语言处理中最常见的一个领域就是文本分类。文本分类是给定一段文本,模型需要输出该文本所属的类别。对文本分类进行数据增强较为简单的一种是对文本中的词进行同义词替换、随机删除、随机插入、打乱顺序等。命名实体识别不同于文本分类,但又和文本分类密切相关,因为实体识别是对每一个字或者词进行分类,我们要识别出的是一段字或词构成的短语,因此,上述文本分类中的数据增强可能会让实体进行切断而导致标签和实体不一致。这里,介绍一种基于模板得实体增强方法,能够解决上述得问题的同时,使得模型的性能进一步得到提升。
西西嘛呦
2022/09/23
8550
基于模板的中文命名实体识别数据增强
Python接口自动化(初版)
在项目conf目录创建settings.py文件,所有的配置信息写在这个文件里面。
Meccer
2022/03/12
9560
学习笔记CB010:递归神经网络、LSTM、自动抓取字幕
递归神经网络(RNN),时间递归神经网络(recurrent neural network),结构递归神经网络(recursive neural network)。时间递归神经网络神经元间连接构成有向图,结构递归神经网络利用相似神经网络结构递归构造更复杂深度网络。两者训练属同一算法变体。
利炳根
2018/03/31
1.4K12
Python的logging模块
在app.py 文件中引入logger模块,这个文件是create_app的工厂模块。
狼啸风云
2020/02/13
8270
Loguru:Python 日志终极解决方案
日志的作用非常重要,日志可以记录用户的操作、程序的异常,还可以为数据分析提供依据,日志的存在意义就是为了能够在程序在运行过程中记录错误,方便维护和调试,能够快速定位出错的地方,减少维护成本。每个程序员都应该知道,不是为了记录日志而记录日志,日志也不是随意记的。要实现能够只通过日志文件还原整个程序执行的过程,达到能透明地看到程序里执行情况,每个线程、每个过程到底执行到哪的目的。日志就像飞机的黑匣子一样,应当能够复原异常的整个现场乃至细节!
K哥爬虫
2021/11/04
2K0
Loguru:Python 日志终极解决方案
python包-logging-hashlib-openpyxl模块-深浅拷贝-04
包: # 包是一系列模块文件的结合体,表现形式是文件夹,该文件夹内部通常会包含一个__init__.py文件,本质上还是一个模块
suwanbin
2019/09/26
7300
python包-logging-hashlib-openpyxl模块-深浅拷贝-04
loguru进一步封装解决打印日志定位异常问题
小小咸鱼YwY
2023/08/10
6130
python实现磁盘日志清理
一、描述: 以module的方式组件python代码,在磁盘文件清理上复用性更好 二、达到目标:      清空过期日志文件,清理掉超过自定大小日志文件 三、原码 #!/usr/bin/env python # -*- coding: utf-8 -*-   import commands import os import time import re import getopt import sys   # commands.getstatusoutput 返回两个元素的元组tuple(status, r
py3study
2020/01/10
1.3K0
pointnet训练文件train.py注释
发布者:全栈程序员栈长,转转请注明出处:https://javaforall.cn/2169.html原文链接:
全栈程序员站长
2021/04/07
6650
关于loguru日志模板并发重复打印修复
直接上模板代码 import os import sys import time from loguru import logger def creat_time_os(): creat_time = time.strftime("%Y-%m-%d", time.localtime()) sys.path.append(os.path.dirname(os.path.abspath(__file__))) log_path_dir = os.path.abspath(os.
小小咸鱼YwY
2022/06/27
1.9K0
太强了!利用 Python 写了一个监控服务器资源利用率的脚本!
部署完 自动巡检多个接口地址是否正常并按 crontab 定时任务通过企业微信机器人以文本的形式发送到告警群的脚本 后,又研究了一个脚本,其主要目的是:基于 Python 编程语言来监控服务器的 CPU、内存、/目录、/appslog、/bigdata目录使用率以及网卡接收和发送情况。
杰哥的IT之旅
2023/02/26
1.4K0
太强了!利用 Python 写了一个监控服务器资源利用率的脚本!
相关推荐
基于Appium实现深度UI遍历工具(四)代码实现篇(上)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档