java - 如何增强标准环境的日志条目?
问题描述
我有一个在 Google App Engine 标准环境上运行的 Java 应用程序。
我可以从中登录(使用 JUL)。在标准环境中,来自单个 Web 请求的所有应用程序日志行都被分组到request_log
. 一切运行良好
但是,现在我需要将自定义标签添加到请求的日志条目中。例如,与之关联的用户 ID 是什么。
Stackdriver 文档 ( https://cloud.google.com/logging/docs/setup/java ) 提供了如何使用自定义标签“增强”日志条目的示例。但是,该页面似乎不适用于标准环境。
是否可以将标签(或与除应用程序日志行之外的日志条目相关的任何信息)添加到日志条目request_log
以及如何添加?如果没有,有什么替代方案?
解决方案
日志增强器将允许您添加自定义标签,尽管它会被硬编码,因为在填充日志时在请求结束时调用此函数(enhanceLogEntry(LogEntry.Builder logEntry))。从请求中提供一个值以出现在应用程序的 request_log 中是不可能的。
我看不出它如何仅限于灵活的环境,据我所知,您应该能够从标准环境中做到这一点。
或者,我认为最好的方法是在您的请求代码中使用Stackdriver Logging 客户端库来编写您自己的日志条目。
推荐阅读
- javascript - 通过 REST API 对用户进行身份验证后,如何转到我的应用主页?
- c# - 如何基于 DatePicker 在网格视图中创建动态行
- java - 为什么我的子类对象总是空的,即使我在 Java 中有适当的构造函数?
- python - TensorFlow Object detection API 仅在帧的指定区域(在输入帧中定义 ROI)
- ios - 当夏令时结束时,在 Date 对象中添加/减少日期会返回错误的日期
- xml - 查找 xmls 之间的差异并列出 Xquery 中的差异
- ios - UITextField 选择器函数没有被调用 iOS Swift
- django - 如何在 Django 用户模型中搜索对象
- sql - SQL查询每天外出考勤
- ssl - Wireshark 无法将数据包识别为 TLS ClientHello