主要用于打印日志到文件。对于一些接口或没有界面测试的功能适用。
<?php
namespace Common\Util;
/**
* 日志助手类
* @author yckj
*
*/
class LogHelper {
private $isLog=0;
public function __construct(){
$this->isLog=C('IS_LOG');
}
public function ableLog(){
$this->isLog=1;
}
/**
* 直接输出
* @param unknown $info
* @param string $level
*/
public function log_echo($info,$level='info'){
// echo $info;
$this->write($info,$level);
}
/**
* 打印数组
* @param unknown $info
* @param string $level
*/
public function log_print_r($info,$level='info'){
$this->write(print_r($info,true),$level);
}
/**
* 写入文件
* @param unknown $data
* @param string $filename
*/
private function write($data,$level='info',$filename=''){
if(!$this->isLog){
//不开启,所以退出
return;
}
if(!$filename){
$filename=$this->getFileName();
}
$rn="\r\n";
$writeData='['.$level.'] '.date('Y-m-d H:i:s').$rn;
$writeData.=$data.$rn;
file_put_contents($filename, $writeData, FILE_APPEND);
}
/**
* 获取文件名
*/
private function getFileName(){
$physicalRoot=dirname ( $_SERVER ['DOCUMENT_ROOT']. __ROOT__ . '/aa');
$virDir="/Log/";
$dirP = $physicalRoot.$virDir;
$file=date('Y_m_d').'.log';
$targetFile=$dirP.$file;
// echo $targetFile;
// var_dump( file_exists ( $dirP ));
// return;
if (! file_exists ( $dirP )) {
@mkdir ( $dirP );
}
return $targetFile;
}
}