分析日志并可视化每天报错计数

系统生成的日志以日期和报文展现,用正则匹配解析出来,日志长这样

先发一个参考代码

# -*- coding:utf-8 -*-

import re

def parseDate(l):
    patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D]?)'

    for i in l:
        m = re.search(patternForTime, i)
        if m:
            print(m.group(1))

if __name__ == '__main__':
    l = ['永康市雅致医疗器械有限公司', '郑云燕', 'II类:6863-16-定制式义齿',   '原料药', '津20170006', '2022/7/24', \
         '2017/07/25', '2017-07-25', '2017年07月25', '2017年07月25日']

    parseDate(l)

 自己参照写的

# -*- coding:utf-8 -*-

import re
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt


l = []
patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D]?\d{2})' 


for j in range(1,30):
    if j <10:
        path = 'C:\\Users\\FCX\\Desktop\\0OA\\2020\\2020\\1\\trace_Daily_2020-01-0'+str(j)+'.log'
    else:
        path = 'C:\\Users\\FCX\\Desktop\\0OA\\2020\\2020\\1\\trace_Daily_2020-01-'+str(j)+'.log'
    f = open(path,encoding = 'utf-8')
    next(f)
    for line_str in f:
        l.append(re.search(patternForTime, line_str).group(0))

            
a = Counter(lists)
b = list(a.keys())
c = list(a.values())

print(b,c)


# del list

# x = np.arange(b)
# y = np.arange(c)
# x = np.arange(list(b))
# y = np.arange(list(c))
# x
# y

plt.title("Feb. Error Records") 
plt.xlabel("Time") 
plt.ylabel("Counts") 
plt.plot(b,c) 
plt.show()

输出:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值