我使用具有以下(简化)版本的模块设置了我的记录器:
module Logging
class << self
def logger
end
def logger=(logger)
@logger = logger
end
end
end
我想做以下事情(它不起作用):
Get the name of the currently executing method
def test_method
return __callee__
end
如果没有上述内容,请添加logger.progname = self.test_method
所以看起来应该是这样的:
module Logging
class << self
def logger
return @logger if @logger
@logger.progname = self.test_method
end
def logger=(logger)
@logger = logger
end
end
end
最终目标应该是方法“MyMethod”:
def my_method
logger.debug "hi"
end
我得到=> "my_method: "hi"