未初始化的常量 Logger (NameError)

Posted

技术标签:

【中文标题】未初始化的常量 Logger (NameError)【英文标题】:uninitialized constant Logger (NameError) 【发布时间】:2014-08-22 03:00:34 【问题描述】:

我正在尝试为 Logger 类定义一个自定义记录器并获取未初始化的常量 Logger。

几天前同样的代码工作,知道什么会导致它崩溃吗? https://github.com/sugarso/ScrapingTheApple/blob/master/JustScrape.rb#L48

Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ ruby JustScrape.rb
JustScrape.rb:48:in `<main>’: uninitialized constant Logger (NameError)

【问题讨论】:

它在标准库上......你需要它......我不知道不需要它......以前它是如何工作的,如你所说...... @Maxim Veksler 似乎“需要'记录器'”可能会帮助你。谢谢! 谢谢你们。有人可以将此作为答案发布,以便我可以关闭该问题吗? 【参考方案1】:

您可能需要require 'logger'

【讨论】:

【参考方案2】:

您忘记在程序/类顶部初始化记录器类:

require 'logger'

例如:

require 'logger'
logger = Logger.new('MyLog.log')
logger.debug("Program start");
logger.info("Hello Word!")

这将在您的 MyLog.log 文件中显示如下:

# Logfile created on 2017-05-11 11:03:20 -0400 by logger.rb/41756
D, [2017-05-11T11:03:20.802629 #57077] DEBUG -- : Program start
I, [2017-05-11T11:03:20.802689 #57077]  INFO -- : Hello Word!

更多信息here

【讨论】:

以上是关于未初始化的常量 Logger (NameError)的主要内容,如果未能解决你的问题,请参考以下文章

未初始化的常量 Twitter (NameError)

NameError - 未初始化的常量 Sass::Engine:

Mongoid:未初始化的常量(NameError)

NameError 未初始化常量 Model::Object

未初始化的常量 OpenSSL (NameError)

未初始化的常量 ActionDispatch::Session::EncryptedCookieStore (NameError)