我正在尝试使用ruby的内置记录器功能为我的程序创建一个简单的日志记录解决方案。目前,我所拥有的是记录器的初始化,如下所示:
class Setup
def initialize
logger = Logger.new(logfile.log)
logger.level = 'DEBUG'
logger.datetime_format = '%Y-%m-%d %H:%M:%S'
然后当我尝试使用以下命令调用同一类中其他函数中的记录器时:
logger.info('testlog')
我收到错误说:
undefined local variable or method 'logger'
我应该如何从其定义的方法的本地范围之外访问记录器?
提前致谢。
答案 0 :(得分:1)
logger
是一个局部变量,仅在定义它的区域中可见。将其重命名为@logger
,使其成为一个实例变量,存储在对象中,可以从任何对象的方法中使用。