cpj*_*eur 5 ruby logging global-variables
在许多ruby类中共享记录器实例的最佳(正确)方法是什么?
现在我只是将记录器创建为全局$ logger = Logger.new变量,但我觉得有一种更好的方法可以在不使用全局变量的情况下执行此操作.
如果我有以下内容:
module Foo
class A
class B
class C
...
class Z
end
Run Code Online (Sandbox Code Playgroud)
在所有类中共享记录器实例的最佳方法是什么?我是否以某种方式在Foo模块中声明/创建记录器,或者只是使用全局$ logger?
Pes*_*sto 10
在模块中添加一个常量:
module Foo
Logger = Logger.new
class A
class B
class C
...
class Z
end
Run Code Online (Sandbox Code Playgroud)
然后你可以Logger.log('blah')在你的课堂上做.由于我们的阴影,全球不断Logger用Foo::Logger,这意味着如果你想指的是Logger类内Foo模块,你必须使用范围解析:::Logger.
| 归档时间: |
|
| 查看次数: |
3066 次 |
| 最近记录: |