概要
閲覧数:1209
投稿日:2017-03-08
更新日:2017-03-08
エラーログ内容をファイル出力
コード
define('ERRORLOGFILE',realpath( dirname( __FILE__ ) ).'/log/'.date('Ymd').'_error.log');
error_reporting(0); //エラーを画面表示(1を0にすると画面上にはエラーは出ない)
set_error_handler( 'my_error_handler', E_ALL );
register_shutdown_function( 'my_shutdown_handler' );
function my_error_handler ( $errno, $errstr, $errfile, $errline, $errcontext ) {
// 表示用
echo "[$errno] $errstr $errfile($errline) $errcontext \n";
// ログファイル書込
file_put_contents( ERRORLOGFILE, date('Y/m/d H:i:s')." [$errno] $errstr $errfile {$errline}行目\n", FILE_APPEND);
}
function my_shutdown_handler(){
$isError = false;
if ($error = error_get_last()){
switch($error['type']){
case E_ERROR:
case E_PARSE:
case E_CORE_ERROR:
case E_CORE_WARNING:
case E_COMPILE_ERROR:
case E_COMPILE_WARNING:
$isError = true;
break;
}
}
if ($isError){
my_error_handler(
$error['type'],
$error['message'],
$error['file'],
$error['line'],
null
);
}
}
結果
2017/03/08 01:08:58 [8] Constant LOGFILE already defined /var/www/★★/pagerank-access/ranking.php 361行目