监控日志,发现500 503 等错误发送邮件提示
程序员文章站
2022-05-15 12:53:37
...
php代码
<?php include("PHPMailer/class.phpmailer.php"); //error_reporting(0); $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.126.com"; // sets the SMTP server $mail->Port = 25; // set the SMTP port for the GMAIL server $mail->Username = "xxx@126.com"; // SMTP account username 邮箱用户名 $mail->Password = "xxxxxxxxx"; // SMTP account password 密码 $mail->SetFrom('xxxxxxx@126.com', '报错');// $now = "u_ex".date("ymdH").".log"; try{ $log = file("F:/iis-log/W3SVC2/".$now);//日志路径自己改 }catch(Exception $e){ echo "no file "; exit; } $error = array(); $start = date("i",time()-120); $end = date("i"); if($start > $end){ exit; } $aa = range($start,$end); $code = mkstr($aa); echo $code; $pattern = "/($code).*(\s500\s|\s503\s)/";//这里自己修改 $i = 0; foreach($log as $k => $v){ if(preg_match($pattern,$v)){ $error[] = $v; echo $v; $i += 1; } } if(!empty($error)){ $content = implode("<br/>",$error); $mail->Subject="$i errors "; $mail->AddAddress("xxxxxxxxxx@163.com"); $mail->AddAddress("xxxxxxxx@126.com"); $mail->MsgHTML($content); $mail->send(); } echo "\nover"; function mkstr($arr){ $code = ''; foreach($arr as $k => $e){ $code .="\:$e\:|"; } $code = rtrim($code,"|"); return $code; }
上一篇: 将数组里存的json对象去重
下一篇: Java 解压 zip