zl程序教程

您现在的位置是:首页 >  后端

当前栏目

TP5日志打印方法封装详解程序员

方法封装日志程序员 详解 打印 TP5
2023-06-13 09:19:58 时间

需求:在开发及测试过程中需要打印日志,并且可以将日志内容打印到指定文件,这样方便查看。

过程:

1. 打开think/Log文件,在该文件中添加一个静态方法,代码如下:

/**
* @param $mark 备注
* @param $log_content 日志内容
* @param string $fname 文件名
*/
public static function mylog($mark, $log_content, $fname = "")
{
$max_size = 30000000; //字节
if ($fname == "") {
$log_filename = RUNTIME_PATH . /log/ . date(Ym-d) . ".log";
} else {
$log_filename = RUNTIME_PATH . /log/ . $fname . ".log";
}

if (file_exists($log_filename) abs(filesize($log_filename)) $max_size) {
//当日志文件过大,移动文件并重命名
rename($log_filename, dirname($log_filename) . DS . date(Ym-d-His) . $fname . ".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. 使用:

    在控制器中引入Log类: use think/Log;

    调用方法: Log::mylog( info: , JSONReturn($info), admin_index ); 

3. 注意:JSONReturn()方法是放在了common.php文件中,代码如下:

function JSONReturn($result)
{
return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2263.html

服务器部署程序员系统优化网站设置运维