Commit 959e21a3 authored by Liu lu's avatar Liu lu

异步协程日志加入异常

parent a5b4e2d5
...@@ -30,21 +30,23 @@ class AsyncCoroutineAspect extends AbstractAspect ...@@ -30,21 +30,23 @@ class AsyncCoroutineAspect extends AbstractAspect
// $proceedingJoinPoint 为连接点,通过该类的 process() 方法调用原方法并获得结果 // $proceedingJoinPoint 为连接点,通过该类的 process() 方法调用原方法并获得结果
// 在调用前进行某些处理 // 在调用前进行某些处理
return Coroutine::create(function ()use($proceedingJoinPoint){ return Coroutine::create(function ()use($proceedingJoinPoint){
try {
LogTraceHandler::recordProcess( LogTraceHandler::recordProcess(
'投递到子协程任务,id:'.Coroutine::id() '投递到子协程任务,id:'.Coroutine::id()
.' ,类:'.$proceedingJoinPoint->className .' ,类:'.$proceedingJoinPoint->className
.' ,方法:'.$proceedingJoinPoint->methodName .' ,方法:'.$proceedingJoinPoint->methodName
.' ,参数:'.json_encode($proceedingJoinPoint->getArguments()) .' ,参数:'.json_encode($proceedingJoinPoint->getArguments())
, ,
true true
); );
$result = $proceedingJoinPoint->process(); $result = $proceedingJoinPoint->process();
LogTraceHandler::recordProcess( LogTraceHandler::recordProcess(
'子协程任务id:'.Coroutine::id().'已完成,执行结果:'. '子协程任务id:'.Coroutine::id().'已完成,执行结果:'.
json_encode($result),true json_encode($result),true
); );
}catch (\Throwable $exception){
LogTraceHandler::recordProcess($exception,true);
}
}); });
......
...@@ -26,18 +26,23 @@ class LogTraceAspect extends AbstractAspect ...@@ -26,18 +26,23 @@ class LogTraceAspect extends AbstractAspect
public function process(ProceedingJoinPoint $proceedingJoinPoint) public function process(ProceedingJoinPoint $proceedingJoinPoint)
{ {
try {
$originParams = [
'called_params'=>$proceedingJoinPoint->getArguments(),
'http_params'=>make(RequestInterface::class)->all()
];
LogTraceHandler::createLogTrace(
$proceedingJoinPoint->className.'@'.$proceedingJoinPoint->methodName,
$originParams
);
$result = $proceedingJoinPoint->process();
LogTraceHandler::recordProcess('返回结果:'.json_encode($result));
$originParams = [ return $result;
'called_params'=>$proceedingJoinPoint->getArguments(), }catch (\Throwable $exception){
'http_params'=>make(RequestInterface::class)->all() LogTraceHandler::recordProcess($exception);
]; throw $exception ; //保持异常抛出
LogTraceHandler::createLogTrace( }
$proceedingJoinPoint->className.'@'.$proceedingJoinPoint->methodName,
$originParams
);
$result = $proceedingJoinPoint->process();
LogTraceHandler::recordProcess('返回结果:'.json_encode($result));
return $result;
} }
} }
\ No newline at end of file
...@@ -76,7 +76,6 @@ class LogTraceHandler ...@@ -76,7 +76,6 @@ class LogTraceHandler
/** /**
* 程序执行完成标记结束 * 程序执行完成标记结束
* @throws \Exception
*/ */
public static function markComplete() public static function markComplete()
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment