PHPでのログ出力
ログをファイルに書き出す方法
PHP
// ログ内容例
$log = "[DATE] " . date('Y-m-d H:i:s'). "\t";
$log.= '[HTTP_USER_AGENT] ';
if (! empty($_SERVER['HTTP_USER_AGENT'])) {
$log.= $_SERVER['HTTP_USER_AGENT'];
} else {
$log.= '(undefined) ';
}
$log.= "\t";
$log.= '[REMOTE_ADDR] ';
if (! empty($_SERVER['REMOTE_ADDR'])) {
$log.= $_SERVER['REMOTE_ADDR'];
} else {
$log.= '(undefined) ';
}
$log.= "\n";
// ログ出力
error_log($log, 3, '/path/to/dir/' . date('Ymd') . '.log');
// ログ出力(aで追記、存在しなければ生成)
$handle = fopen('/path/to/dir/' . date('ymd') . '.log', 'a');
fwrite($handle, $log);
fclose($handle);
配列、オブジェクトをファイル出力
PHP
// 配列
$arr['foo'] = 'bar';
// オブジェクト
$obj->foo = new stdClass;
$obj->foo = 'bar';
// print_r
$log.= print_r($arr, true) . "\n";
$log.= print_r($obj, true) . "\n";
// var_export
$log.= var_export($arr, true) . "\n";
$log.= var_export($obj, true) . "\n";
Array
(
[foo] => bar
)
stdClass Object
(
[foo] => bar
)
array (
'foo' => 'bar',
)
stdClass::__set_state(array(
'foo' => 'bar',
)