本文实例讲述了php基于自定义函数记录log日志方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/**
* 记录错误日志
* @param 日志内容 $res
*/
function save_log( $res ) {
$err_date = date ( "Ym" , time());
//$address = '/var/log/error';
$address = './error' ;
if (! is_dir ( $address )) {
mkdir ( $address , 0700, true);
}
$address = $address . '/' . $err_date . '_error.log' ;
$error_date = date ( "Y-m-d H:i:s" , time());
if (! empty ( $_SERVER [ 'HTTP_REFERER' ])) {
$file = $_SERVER [ 'HTTP_REFERER' ];
} else {
$file = $_SERVER [ 'REQUEST_URI' ];
}
if ( is_array ( $res )) {
$res_real = "$error_date\t$file\n" ;
error_log ( $res_real , 3, $address );
$res = var_export( $res ,true);
$res = $res . "\n" ;
error_log ( $res , 3, $address );
} else {
$res_real = "$error_date\t$file\t$res\n" ;
error_log ( $res_real , 3, $address );
}
}
|
var_export()
方法详解:
var_export – 输出或返回一个变量的字符串表示
描述 :
mixed var_export ( mixed expression , bool )
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
EG:
var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别;
1
|
$var =var_export( array ( 'a' , 'b' , array ( 'aa' , 'bb' , 'cc' )),TRUE)
|
加上TRUE后,不会再打印出来,
而是给了一个变量,这样就可以直接输出;
1
|
echo $var ;
|
此时输出来的形式与var_dump()
打印的相似。
希望本文所述对大家PHP程序设计有所帮助。