Ste*_*ren 2 google-app-engine node.js google-appengine-node
我在 App Engine 标准版和灵活版上使用 Node.js。
在日志查看器中,是否可以显示嵌套在请求日志中的应用程序日志?
是的,可以将应用程序日志和请求日志关联起来。这是日志查看器中的最终结果:
为了实现这一目标,您可以:
在您的应用程序中使用@google-cloud/trace-agent和@google-cloud/logging-bunyan模块。当您这样做时,您的日志会自动使用正确的跟踪 ID 进行注释(请参阅Bunyan 的文档)。
从请求头中提取跟踪 ID
如果您不想使用 Trace 模块,可以从请求头中提取跟踪 ID,使用以下代码提取traceId:
const traceHeader = req && req.headers ? req.headers['x-cloud-trace-context'] || '' : '';
const traceId = traceHeader ? traceHeader.split('/')[0] : '';
Run Code Online (Sandbox Code Playgroud)
然后,您需要填充trace日志条目的属性。使用Bunyan记录器时,使用以下代码:
logger.info({
'logging.googleapis.com/trace': `projects/${project}/traces/${traceId}`
}, 'your message');
Run Code Online (Sandbox Code Playgroud)