1:在D:\www\tp5\thinkphp\library\think\Log.php中添加下列代码。可在runtime文件夹下建立tlogs文件夹(可自定义)。
/**
* [payLog 支付日志log]
* @param [type] $mark [备注]
* @param [type] $log_content [内容]
* @param string $keyp [名]
* @return [type] [description]
*/
public static function mylog($mark, $log_content, $keyp = "") {
$max_size = 30000000;
if ($keyp == "") {
$log_filename = RUNTIME_PATH . '/log/' . date('Ym-d') . ".log";
} else {
$log_filename = RUNTIME_PATH . '/log/' . $keyp . ".log";
}
if (file_exists($log_filename) && (abs(filesize($log_filename)) > $max_size)) {
rename($log_filename, dirname($log_filename) . DS . date('Ym-d-His') . $keyp . ".log");
}
$t = microtime(true);
$micro = sprintf("%06d", ($t - floor($t)) * 1000000);
$d = new \DateTime (date('Y-m-d H:i:s.' . $micro, $t));
if(is_array($log_content)){
$log_content = JSONReturn($log_content);
}
file_put_contents($log_filename, ' ' . $d->format('Y-m-d H:i:s u') . " key:" . $mark . "\r\n" . $log_content . "\r\n------------------------ --------------------------\r\n", FILE_APPEND);
}
2:再在common.php中添加
/**
* 生成JSON数据返回值
*/
function JSONReturn($result)
{
return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}
3:使用如下:use think\Log;
Log::mylog('标题:' , '内容' , 'test.log');
上面是一种方法:
下面是另外一种方法:
在commom.php中加入下面的代码
/**
* 写日志
* @param $data : 数据
* @param $fileName : 写入哪个日志
*/
function logs($data = null,$fileName = null){
if(is_null($data) || is_null($fileName)){
$out_arr['code'] = '400004';
return $out_arr;
}
$path = RUNTIME_PATH . 'log/' . $fileName;
if(!is_dir($path)){
$mkdir_re = mkdir($path,0777,TRUE);
if(!$mkdir_re){
$this -> logs($data,$fileName);
}
}
$filePath = $path . "/" . date("Y-m-d",time());
$time = date("Y-m-d H:i:s",time());
$re = file_put_contents($filePath, $time." ".var_export($data,TRUE)."\r\n\r\n" , FILE_APPEND);
if(!$re){
$this -> logs($data,$fileName);
}else{
$out_arr['code'] = '000000';
return $out_arr;
}
}
在需要用到的地方调用就可以了
logs('2423','signTurn');
工作在上海,大家多多交流,qq交流群(1126665885)