您现在的位置是:网站首页>PHP技术PHP技术
TP5自定义日志记录到文件方法
草谷2019-03-31【PHP技术】
简介通过自定义日志记录到文件,可以方便与线上生产环境中对报错等信息的记录,便于调试。也可以用于调试类似于支付回调等异步请求中返回结果
话不多说,直接上代码
/** * [payLog 日志log] * @param [type] $mark [日志的备注,显示在日志文件中] * @param [type] $log_content [日志内容,支持数组或字符串,自动转json格式] * @param string $keyp [日志名,默认为当前时间命名] * @return [type] [description] */ function mylog($mark, $log_content, $keyp = "") { $max_size = 30000000; if ($keyp == "") { $log_filename = RUNTIME_PATH . '/tlogs/' . date('Ym-d') . ".log"; } else { $log_filename = RUNTIME_PATH . '/tlogs/' . $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); }
用于调试服务端三方接口的异步回调会比较方便。
很赞哦! (0)
上一篇: PHP将银行卡号处理为每4位一个空格