TP5自定义日志的文件名称

9 篇文章 1 订阅
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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值