首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google-cloud-logging中的logger不适用于rails

google-cloud-logging中的logger不适用于rails
EN

Stack Overflow用户
提问于 2020-10-13 05:30:50
回答 1查看 248关注 0票数 0

我目前正在开发GCP,并在GCP实例上部署了我的rails应用程序。我目前正在使用https://github.com/brendeschuijmert/google-cloud-ruby/tree/master/google-cloud-logging作为计算引擎。

当我在rails应用程序上使用它时。

Rails.logger.info "Hello World"运行得很好。

但是logger.warn "Hola Mundo"不起作用。

我希望有人能对这个问题有所了解。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-10-14 11:19:34

如果您试图从控制器/模型或其他属于Rails结构一部分的文件外部调用logger -您将必须显式地为您自己创建一个记录器,使用:

代码语言:javascript
复制
logger = Logger.new(STDOUT) # Or wherever you want to log to

但是,如果Rails.logger正常工作,那么您可能只需要一个像logger = Rails.logger这样的别名就可以使用不带Rails名称空间前缀的logger.warn。您所在的文件可能还没有为您指定别名的帮助器。

更深入的研究表明,logger源自ActiveSupport::LogSubscriber --像ActionController这样的几个类都包含继承自该模块的子LogSubscriber,因此logger方法对它们可用。您可以手动将其别名为Rails.logger,以便在您尝试调用它的任何位置都能为您工作。

来源:https://api.rubyonrails.org/classes/ActiveSupport/LogSubscriber.html#method-c-logger

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64325600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档