Home >php教程 >PHP源码 >监控日志,发现500 503 等错误发送邮件提示

监控日志,发现500 503 等错误发送邮件提示

PHP中文网
PHP中文网Original
2016-05-25 17:03:411021browse

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(&#39;xxxxxxx@126.com&#39;, &#39;报错&#39;);//


$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 = &#39;&#39;;
    foreach($arr as $k => $e){
        $code .="\:$e\:|";
    }
    $code = rtrim($code,"|");
    return $code;
}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn