博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python解析oracle日志中的报错
阅读量:4556 次
发布时间:2019-06-08

本文共 1516 字,大约阅读时间需要 5 分钟。

作为python的简单应用,这里将oracle日志文件中的报错内容截取出来。

方案构思:经过分析日志结果,以时间戳为楔子,两个时间戳之间内容作为分块,若果分块内存在报错内容,就将两个时间戳之间的分块内容打印出来。

1 import re 2  3 def get_time(week,tmp_file): 4     time = [] 5     for line in tmp_file: 6         tmp_line = line.split() 7         lens = len(tmp_line) 8         #print(lens) 9         if lens > 3 :10             if (tmp_line[0] in  week[:]) and (int(tmp_line[2]) in range(1,32)):11                 time.append(line.strip())12     return time13 14 def get_logs(time,filetxt):15     i= 016     n = i+117     while i < len(time)-1 :18         while time[i] == time[n]:19             n +=120             if n == len(time)-1:21                 break22         pattern = re.compile( time[i]+'(.*?)'+time[n],re.S)23         result = re.findall(pattern,filetxt)24         seltxt = result[0]25         if "ORA-" in seltxt or "Errors" in seltxt or "error" in seltxt or "TNS-" in seltxt:26             print('\n\n===>>报错起始时间:', time[i])27             print(''.join(result))28             # print(type(result))29             print('<<===报错终止始时间:', time[n])30         i = n31 32 def main():33     logfile = r'D:\WorkHome\python\oracle\alert_irmsdb.log'34     week = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']35     file = open(logfile)36     filelines = file.readlines()37     tmp_file = filelines[-200:]38     time = get_time(week,tmp_file)39     filetxt = "".join(tmp_file).strip()40     get_logs(time,filetxt)41 42 if __name__ == '__main__':43     main()

 

转载于:https://www.cnblogs.com/cooper-73/p/10965780.html

你可能感兴趣的文章
[转]SQL Server如何启用xp_cmdshell组件
查看>>
[转]微擎应用笔记3--manifest.xml文件使用说明
查看>>
Codeforces 1000C Covered Points Count 【前缀和优化】
查看>>
python高效读取文件、文件改写
查看>>
gulp
查看>>
pgsql查询优化之模糊查询
查看>>
不变模式
查看>>
matlab去云雾
查看>>
500lines项目简介
查看>>
Asp.net core logging 日志
查看>>
BOM浏览器对象模型
查看>>
Jq 遍历each()方法
查看>>
Android源码分析:Telephony部分–phone进程
查看>>
关于 redis.properties配置文件及rule
查看>>
WebService
查看>>
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>