如何使用 Rails/Lograge 将日志记录发送到 Google Stackdriver?

How do you send logging to Google Stackdriver with Rails/Lograge?

我们有一个配置了两者的项目 Rails/Lograge。根据文档,您似乎只包含 gem。我想知道是否可以将附加信息作为 jsonPayload 发送。我们所有的日志记录仅被解析为 textPayload。

https://github.com/googleapis/google-cloud-ruby/tree/master/stackdriver

https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry

我们还使用 AppEngine Flex,因此我们对 Fluentd 实施的控制较少。

似乎对 Ruby 与 Stackdriver 日志记录的使用有很好的记录。例如参见 [​​=12=].

接下来我们在此处 Module: Google::Cloud::Logging 找到有关 API 的参考文档。如果我们查看 Logger class,我们会找到一个将 JSON 有效负载写入日志的示例:

https://googleapis.github.io/google-cloud-ruby/docs/google-cloud-logging/latest/Google/Cloud/Logging/Logger.html

require "google/cloud/logging"

logging = Google::Cloud::Logging.new

resource = logging.resource "gae_app",
                            module_id: "1",
                            version_id: "20150925t173233"

logger = logging.logger "my_app_log", resource, env: :production

payload = { "stats" => { "a" => 8, "b" => 12.5} }
logger.info payload