首页 > 解决方案 > 如何增强标准环境的日志条目?

问题描述

我有一个在 Google App Engine 标准环境上运行的 Java 应用程序。

我可以从中登录(使用 JUL)。在标准环境中,来自单个 Web 请求的所有应用程序日志行都被分组到request_log. 一切运行良好

但是,现在我需要将自定义标签添加到请求的日志条目中。例如,与之关联的用户 ID 是什么。

Stackdriver 文档 ( https://cloud.google.com/logging/docs/setup/java ) 提供了如何使用自定义标签“增强”日志条目的示例。但是,该页面似乎不适用于标准环境。

是否可以将标签(或与除应用程序日志行之外的日志条目相关的任何信息)添加到日志条目request_log以及如何添加?如果没有,有什么替代方案?

标签: javagoogle-app-enginestackdrivergoogle-cloud-logging

解决方案


日志增强器将允许您添加自定义标签,尽管它会被硬编码,因为在填充日志时在请求结束时调用此函数(enhanceLogEntry(LogEntry.Builder logEntry))。从请求中提供一个值以出现在应用程序的 request_log 中是不可能的。

我看不出它如何仅限于灵活的环境,据我所知,您应该能够从标准环境中做到这一点。

或者,我认为最好的方法是在您的请求代码中使用Stackdriver Logging 客户端库编写您自己的日志条目。


推荐阅读