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

时间:2019-06-12 02:44:56

标签: ruby-on-rails google-cloud-platform google-cloud-stackdriver google-cloud-logging

我们有一个同时配置有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实现的控制较少。

1 个答案:

答案 0 :(得分:2)

看来,将Ruby与Stackdriver日志结合使用的情况已有很好的记录。例如,请参见Stackdriver Logging Client Libraries

接下来,我们在Module: Google::Cloud::Logging上找到有关API的参考文档。而且,如果我们查看Logger类,就会发现一个向日志写入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