Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meibuyu-micro
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
without authentication
meibuyu-micro
Commits
63f4a4e7
Commit
63f4a4e7
authored
Mar 12, 2022
by
Liu lu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
致命级错误记录
parent
94b31584
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
3 deletions
+11
-3
LogTraceAspect.php
src/Aspect/LogTraceAspect.php
+8
-0
LogTraceHandler.php
src/Handler/LogTrace/LogTraceHandler.php
+3
-3
No files found.
src/Aspect/LogTraceAspect.php
View file @
63f4a4e7
...
...
@@ -35,6 +35,14 @@ class LogTraceAspect extends AbstractAspect
$proceedingJoinPoint
->
className
.
'@'
.
$proceedingJoinPoint
->
methodName
,
$originParams
);
$requestId
=
LogTraceHandler
::
getRequestId
();
register_shutdown_function
(
function
()
use
(
$requestId
)
{
LogTraceHandler
::
recordProcess
(
'致命级错误:'
.
json_encode
(
error_get_last
()),
false
,
$requestId
);
});
$result
=
$proceedingJoinPoint
->
process
();
LogTraceHandler
::
recordProcess
(
'返回结果:'
.
json_encode
(
$result
));
...
...
src/Handler/LogTrace/LogTraceHandler.php
View file @
63f4a4e7
...
...
@@ -66,7 +66,7 @@ class LogTraceHandler
* @return string
* @throws \Exception
*/
p
rivate
static
function
getRequestId
(
$isInAsyncCoroutine
=
false
)
p
ublic
static
function
getRequestId
(
$isInAsyncCoroutine
=
false
)
{
$workId
=
posix_getpid
();
$cid
=
$isInAsyncCoroutine
?
Coroutine
::
parentId
(
Coroutine
::
id
())
:
Coroutine
::
id
();
...
...
@@ -92,7 +92,7 @@ class LogTraceHandler
* 待写到Es后可以避免
* 记录当前日志(包括异常捕获)
*/
public
static
function
recordProcess
(
$track
,
$isInAsyncCoroutine
=
false
)
public
static
function
recordProcess
(
$track
,
$isInAsyncCoroutine
=
false
,
$requestId
=
0
)
{
if
(
empty
(
$track
))
return
;
if
(
!
Coroutine
::
inCoroutine
())
return
;
...
...
@@ -114,7 +114,7 @@ class LogTraceHandler
$logInfo
.=
"
\n\n
"
;
container
(
LogTraceQueue
::
class
)
->
addToQueue
([
'request_id'
=>
self
::
getRequestId
(
$isInAsyncCoroutine
),
'request_id'
=>
$requestId
?:
self
::
getRequestId
(
$isInAsyncCoroutine
),
'process_info'
=>
$logInfo
]);
// $log = LogTrace::where('request_id', self::getRequestId())->first();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment