这是一个ruby脚本,我用来记录我的状态。
require 'logger'
log = Logger.new( 'log.txt', 'daily' )
log.debug "Once the log becomes at least one"
log.debug "day old, it will be renamed and a"
log.debug "new log.txt file will be created."
现在我想创建一个新的ruby文件,其中我想包含logger它可以是这样的
module Logging
def logger
Logging.logger
end
def self.logger
@logger ||= Logger.new(STDOUT)
end
end
但是我无法理解这一点,所以任何人都可以解释它。
我的要求就像有很多ruby脚本文件我想把一个记录器放在模块中并且在每个文件中都包含它而不是写入日志文件中的日志它可以警告它可以是信息或其他任何东西。
答案 0 :(得分:0)
我可以从你的问题中收集到的是代码的工作原理......你只是对它的作用感到困惑......如果这是正确的那么解释,当你inculde Logging
在你的任何一个类中来自在类方法的任何地方调用logger.log("This is a log message")
它会将该消息记录到启动脚本的控制台。
这会回答你的问题吗?
答案 1 :(得分:0)
更好的选择是:
module Logging
def logger
@logger ||= Logger.new(STDOUT)
end
end
并像这样使用
class MyLoggingClient
include Logging
#Now you have access to the method `logger` and the instance variable `@logger`.
end