Python实现监控程序执行时间并将其写入日志的方法

作者:mingaixin 时间:2023-01-15 01:35:53 

本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法。分享给大家供大家参考。具体实现方法如下:


# /usr/bin/python
# -*- coding:utf-8 -*-
from time import time
def logged(when):
 def log(f,*args,**kargs):
   print '''
        called:
         functions:%s
         args: %r
         kargs: %r
   '''  % (f,args,kargs)
 def pre_logged(f):
   def wrapper(*args,**kargs):
     log(f,*args,**kargs)
     return f(*args,**kargs)
   return wrapper
 def post_logged(f):
   def wrapper(*args,**kargs):
     now = time()
     try:
       return f(*args,**kargs)
     finally:
       log(f,*args,**kargs)
       print "time delta:%s" % (time()-now)
   return wrapper
 try:
   return {"pre":pre_logged,"post":post_logged}[when]
 except KeyError,e:
   raise ValueError(e),'must be "pre" or "post"'
@logged("post")
def hello(name):
 print "hello,",name
hello("world!")
'''
等同于: hello = logged("post")(hello("world!"))
'''

希望本文所述对大家的Python程序设计有所帮助。

标签:Python,监控,日志
0
投稿

猜你喜欢

  • SQL Server 总结复习 (二)

    2024-01-22 23:14:50
  • 用python如何绘制表格不同颜色的excel

    2022-08-09 22:05:11
  • python 工具类之Queue组件详解用法

    2023-08-05 23:59:10
  • 解析PyCharm Python运行权限问题

    2021-04-05 03:52:51
  • 原生js实现密码强度验证功能

    2024-04-17 10:35:14
  • SQL Server可写脚本和编程扩展SSIS包

    2009-01-20 16:29:00
  • python监控网卡流量并使用graphite绘图的示例

    2022-06-24 22:35:54
  • python语言是免费还是收费的?

    2021-12-30 10:04:48
  • 深入研究ASP中的Session

    2007-09-13 12:37:00
  • 让innerText在firefox火狐和IE浏览器都能用的写法

    2024-05-02 16:17:24
  • python能在浏览器能运行吗

    2023-05-11 14:32:07
  • 用javascript对一个json数组深度赋值示例

    2024-04-23 09:22:54
  • vue跳转后不记录历史记录的问题

    2023-07-02 17:03:38
  • Mysql主从延时图解方法

    2024-01-24 04:26:29
  • PHP中关于php.ini参数优化详解

    2024-05-13 09:51:31
  • SQL Server 2016 CTP2.2安装配置方法图文教程

    2024-01-18 19:04:29
  • SQLServer数据库中开启CDC导致事务日志空间被占满的原因

    2024-01-18 01:41:39
  • python网页请求urllib2模块简单封装代码

    2021-07-31 02:03:55
  • Python网络爬虫之爬取微博热搜

    2021-08-31 02:53:50
  • 区别Javascript中的Null与Undefined

    2007-12-13 20:24:00
  • asp之家 网络编程 m.aspxhome.com