/** * 脚本程序异常捕获 */ function handleError() { global $config; $error = error_get_last(); if (isset($error['type'])) { switch ($error['type']) { case E_ERROR : case E_PARSE : case E_DEPRECATED: case E_CORE_ERROR : case E_COMPILE_ERROR : $file = $error['f…
转自: http://blog.csdn.net/a757291228/article/details/62231125 //一个函数,用来响应 register_shutdown_function function shutdownCallback($logPath='/tmp/z.log'){ $arrError = error_get_last(); //使用 error_get_last 能捕获错误,等下说明 $date = date('Y-m-d H:i:s', time()); fi…
当程序在线上运行时,如果遇到BUG,想不在前端输出错误信息,同时能及时邮件通知开发者,register_shutdown_function函数就可以派上用场了. 注册一个会在脚本执行完成或者 exit() 后被调用的函数. 可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用. 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用. register_shutdown_func…
遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys,time,datetime,os import urllib,sys,urllib,json,smtplib from email.mime.text import MIMEText mailto_list=['liudong@philisense.com'] mail_host="smtp.ph…
在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理 Yii2 web应用 1 配置如下 其中errorHandler就是错误处理配置,执行ErrorController的actionError 'components' => [     "urlManager" => require (__DIR__ . '/router.php'),     'errorHandler' => [         'err…
eval 捕获错误: [root@dr-mysql01 ~]# cat t1.pl use DBI; my $dbUser='zabbix'; my $user="root"; my $passwd="1234567"; my $dbh = DBI->connect("dbi:mysql:database=zabbix;host=192.168.32.55;port=3306",$user,$passwd) or die "can…
需要调用命令行来执行某些命令,主要是用 subprocess 实时获取结果和捕获错误,发现subprocess的很多坑. subprocess 普通获取结果方式,其需要命令完全执行才能返回结果: import subprocess scheduler_order = "df -h" return_info = subprocess.Popen(scheduler_order, shell=True, stdout=subprocess.PIPE,stderr=subprocess.ST…
Zabbix没有报表导出的功能,于是通过编写脚本导出zabbix数据并发邮件.效果如下: 下面是脚本,可根据自己的具体情况修改: #!/usr/bin/python #coding:utf-8 import MySQLdb import time,datetime import xlsxwriter import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart…
基于官方的需要改版 1.改为有界,官方是吧所有任务添加到线程池的queue队列中,这样内存会变大,也不符合分布式的逻辑(会把中间件的所有任务一次性取完,放到本地的queue队列中,导致分布式变差) 2.直接打印错误.官方的threadpolexcutor执行的函数,如果不设置回调,即使函数中出错了,自己都不会知道. # coding=utf-8 """ 一个有界任务队列的thradpoolexcutor 直接捕获错误日志 """ from fun…
一般捕获错误,采用try,catch,但是有时捕获的错误不明朗,完全不知道是什么错误,这是可以取消try,catch调试运行,找到错误后并修正后,再把try,catch加上.…