以一个简单的Ruby on Rails应用程序为例。它Logger
在应用程序加载过程中创建一个对象:
# in environment.rb
config.logger = Logger.new(<STDOUT | file | whatever>)
# and in our application we use this object
logger.warn "This process is taking too long to process. Optimization needed."
我的问题是,为什么我们不使用类方法(或静态方法)进行日志记录?会不会Logger.warn
比Logger.new.warn
?或至少Logger.warn
看似直观Logger.new.warn
。
即使Logger.new
是单例对象,它提供什么好处?