Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命日志标记为Google Cloud Kubernetes上的信息_Kubernetes_Google Cloud Platform_Ruby On Rails 5_Stackdriver_Google Cloud Logging - Fatal编程技术网

致命日志标记为Google Cloud Kubernetes上的信息

致命日志标记为Google Cloud Kubernetes上的信息,kubernetes,google-cloud-platform,ruby-on-rails-5,stackdriver,google-cloud-logging,Kubernetes,Google Cloud Platform,Ruby On Rails 5,Stackdriver,Google Cloud Logging,我有一个使用Rails 2.5.1的应用程序,它部署在Google Cloud Kubernetes上,但是日志工作不好。致命错误显示为信息日志,而不是错误或严重错误 额外上下文: 轨道5.2.1 此视图来自日志查看器 我正在使用RAILS\u LOG\u TO\u STDOUT=true。如果删除此项,则根本不会显示日志 谢谢 [更新] 我更新了集群以使用最新的Stackdriver API,但它仍然不工作,Rails.logger.error显示为INFO 请查看旧式日志记录和监视的文

我有一个使用Rails 2.5.1的应用程序,它部署在Google Cloud Kubernetes上,但是日志工作不好。致命错误显示为信息日志,而不是错误或严重错误

额外上下文:

  • 轨道5.2.1
  • 此视图来自日志查看器
  • 我正在使用
    RAILS\u LOG\u TO\u STDOUT=true
    。如果删除此项,则根本不会显示日志
谢谢

[更新]

我更新了集群以使用最新的Stackdriver API,但它仍然不工作,
Rails.logger.error
显示为INFO


请查看旧式日志记录和监视的文档部分:

严重性:默认情况下,写入标准输出的日志位于 信息级别和写入标准错误的日志位于错误列表中 数量结构化日志可以包括一个
严重性
字段,该字段定义 日志的严重性

因为您使用的是
RAILS\u LOG\u TO\u STDOUT=true
LOG Ruby生成的事件,所以您可以看到严重性信息

请记住,您应该迁移到Kubernetes引擎监视:

警告:对Google Kubernetes的传统日志记录和监视支持 引擎已弃用。如果您使用的是旧式日志记录和监视, 然后在支持之前,必须迁移到Kubernetes引擎监视 对于旧版日志记录和监视,已删除

迁移之后最好返回到这个“问题”

编辑查看文档部分,您可以在其中找到Ruby的示例:

下面是一些将单个日志条目写入mylog的示例代码。这个 服务、区域、标签和其他内容将根据需要而更改 条目和进行编写的应用程序


我将日志格式更改为使用JSON

config.log_formatter = proc do |severity, datetime, progname, msg|
    message = msg
    message << " from #{progname}" if progname.present?
    content = JSON.dump(timestamp: datetime.to_s, severity: severity, message: message)
    content << "\n"
    content
  end
config.log_formatter=proc do |严重性、日期时间、程序名、消息|
消息=msg

消息似乎与此主题相同您是否对GKE集群使用传统日志记录和监视?如果是,您可以在这里找到一些解释“默认情况下,写入标准输出的日志位于信息级别,写入标准错误的日志位于错误级别。结构化日志可以包括一个严重性字段,该字段定义日志的严重性。”@SerhiiRohoza,也是从我这里打开的。好的。您的GKE集群是否使用传统日志记录和监视?@SerhiiRohoza是的。我更新了堆栈驱动程序,但仍然遇到同样的问题
Rails.logger.error
正在作为信息打印。您是否仍然使用
Rails\u LOG\u TO\u STDOUT=true
?yeap。我仍然在使用它。我认为rails发送的日志的严重性不正确。我基于此:除了您的链接,我还更新了我的答案,其中包含了文档编写日志条目的链接。
config.log_formatter = proc do |severity, datetime, progname, msg|
    message = msg
    message << " from #{progname}" if progname.present?
    content = JSON.dump(timestamp: datetime.to_s, severity: severity, message: message)
    content << "\n"
    content
  end