行为日志
LinCMS TP5 通过原生框架的Hook实现了行为日志的记录,在需要记录日志的地方监听logger钩子,即可实现日志记录
public function register(Request $request)
{
$params = $request->post();
LinUser::createUser($params);
Hook::listen('logger', '创建了一个用户');
return writeJson(201, '', '用户创建成功');
}
Hook::listen()
接收两个参数,第一个是钩子名称,第二个参数内容。这里我们调用了logger这个钩子,钩子的具体行为我们定义在application\api\behavior
目录下的Logger.php
文件中,文件内实现了一个run
方法
public function run($params)
{
// 行为逻辑
if (empty($params)) {
throw new LoggerException([
'msg' => '日志信息不能为空'
]);
}
if (is_array($params)) {
list('uid' => $uid, 'nickname' => $nickname, 'msg' => $message) = $params;
} else {
$uid = Token::getCurrentUID();
$nickname = Token::getCurrentName();
$message = $params;
}
$data = [
'message' => $nickname . $message,
'user_id' => $uid,
'user_name' => $nickname,
'status_code' => Response::getCode(),
'method' => Request::method(),
'path' => Request::path(),
'authority' => ''
];
LinLog::create($data);
}
run
方法主要是实现了字段信息的赋值和拼接,可根据实际情况调整。
当前内容版权归 LinCMS-TP5 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 LinCMS-TP5 .