gpt4 book ai didi

python装饰器实现对异常代码出现进行自动监控的实现方法

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python装饰器实现对异常代码出现进行自动监控的实现方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

异常,不应该存在,但是我们有时候会遇到这样的情况,比如我们监控服务器的时候,每一秒去采集一次信息,那么有一秒没有采集到我们想要的信息,但是下一秒采集到了, 而后每次的采集都能采集到,就那么一次采集不到,我们应该针对这一次采集不到进行分析吗,这种的情况可以说无法重复出现,我们也无法避免,因为外界的因素太多太多,我们无法去控制这些外面的因素,所以我们会有这样的需求,一段时间内出现频率多少次,我们才能显示一次报警,或者说,一段时间内出现的频率达到我们的异常许可范围我们认为这样的属于异常,我们可以发出报警.

那么我们怎么来实现呢,我想到了装饰器,当程序执行到异常后,我记录时间,写入文件,然后读取最近的第五次的判断,两者时间戳的只差小于60s,我认为这样的可以发送警报,如果大于60s,则认为不足以发出我们的警告, 。

那么我们来看看我们的代码应该怎么写.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import datetime,time,random
def make(func):
   def mak( * args, * * kwargs):
     try :
       func( * args, * * kwargs)
     except :
       with open ( 'except.txt' , 'a+' ) as f:
         except_time = datetime.datetime.now()
         f.writelines(except_time.strftime( '%Y-%m-%d %H:%M:%S' ) + '\n' )
         f.close()
       with open ( 'except.txt' , 'rb' ) as m:
         try :
           date = m.readlines()[ - 5 ].decode( 'utf-8' )
           ne = (date.split( '\r\n' )[ 0 ])
           f1 = datetime.datetime.strptime(ne, '%Y-%m-%d %H:%M:%S' )
           if (except_time - f1).seconds< 6 :
             print ( '异常!!!fail' )
           else :
             print ( '正常!' )
           m.close()
         except :
           print ( '越界代表着我们的实验是成功的' )
   return mak
@make
def beijing(i,m):
   print (i / m)
if __name__ = = "__main__" :
   while True :
     f = random.choice([ 0 , 1 , 2 , 3 ])
     n = random.choice([ 0 , 1 , 2 , 3 ])
     beijing(f,n)
     time.sleep( 0.3 )

这样我们针对一个程序的异常监控就实现了,我们来运行下这个异常监控的代码。, 。

python装饰器实现对异常代码出现进行自动监控的实现方法

我们可以看到我们的代码可以正常运行,那么我们来试试,我们对多个程序的代码进行监控,我们的脚本可不可以实现呢.

?
1
2
3
4
5
6
7
8
9
@make
def shanghai(i,m):
   print (i / m)
@make
def rizhao(i,m):
   print (i / m)
@make
def zhengzhou(i,m):
   print (i / m)

PS:遇到问题没人解答?需要Python学习资料?可以加点击下方链接自行获取 note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76 。

我们增加这么几个方法,并且我们去运行他们, 。

python装饰器实现对异常代码出现进行自动监控的实现方法

我们可以看到,只要有异常,我们的程序都会记录,当然了,这样的还不能正常利用到我们的工作中, 。

稍后,可以将这里的异常监控的部分的实践,和我之前写的异常监控脚本想结合下.

总结 。

到此这篇关于python装饰器实现对异常代码出现进行自动监控的实现方法的文章就介绍到这了,更多相关python装饰器自动监控内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.cnblogs.com/djdjdj123/archive/2020/09/14/13669489.html 。

最后此篇关于python装饰器实现对异常代码出现进行自动监控的实现方法的文章就讲到这里了,如果你想了解更多关于python装饰器实现对异常代码出现进行自动监控的实现方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com