PHP写日志
1、调用类:
<?php
public function logAction(){
$time = time();
$dir = APP_PATH.'/data/share/test/';
$filename = date('Y-m-d').'.txt';
$mLog = new Log();
$log = '[START] '.date('Y-m-d H:i:s').PHP_EOL;
if($time%2==0){
$log .= "时间[{$time}]是双数".PHP_EOL;
}else{
$log .= "时间[{$time}]是单数".PHP_EOL;
}
sleep(1);
$log .= '[END] '.date('Y-m-d H:i:s').PHP_EOL.PHP_EOL;
$mLog->writeLog($dir, $filename, $log);
}
2、输出结果:
[START] 2019-06-22 16:53:45
时间[1561193625]是单数
[END] 2019-06-22 16:53:46
[START] 2019-06-22 16:53:47
时间[1561193627]是单数
[END] 2019-06-22 16:53:48
[START] 2019-06-22 16:53:48
时间[1561193628]是双数
[END] 2019-06-22 16:53:49
3、日志类:
<?php
class Log{
/**
* @todo 写日志
* @param string $dir 目录名:例 .../data/share/
* @param string $filename 文件名:例 hello.txt
* @param string $log 需要写的日志详情
*/
function writeLog( $dir, $filename, $log ){
if(!file_exists($dir)){
$this->createDirectory($dir);
}
$dir .= $filename;
$h = fopen( $dir, 'a' ); //文件追加
fwrite($h, $log);
fclose($h);
}
/**
* @todo 递归创建目录
* @param string $dir 目录地址
* @return boolean
*/
function createDirectory($dir) {
return is_dir ( $dir ) or $this->createDirectory ( dirname ( $dir ) ) and mkdir ( $dir, 0777 );
}
}