Rails自定义记录器,包含单独的文件和标签

时间:2018-06-17 12:07:57

标签: ruby-on-rails ruby ruby-on-rails-4 logging

我想实现一个记录器gem,当包含它时会将一些日志写入单独的文件中,并且我将能够在必要时添加自定义标记(并且它将记住'它们沿着代码)。此记录器将是默认记录器的补充,并将包含特殊警报。

现在我有一个公开此记录器的模块,但我无法使用TaggedLogging添加标记,因为我通过Logging.logger[logger_name]访问记录器,但我没有这样的访问权限与TaggedLogging

LIB / special_alerts_logger.rb:

module SpecialAlerts
  def self.logger
    Logging.logger['special_alerts']
  end
end

配置/初始化/ special_alerts.rb

logger_name = 'special_alerts'
logger = Logging.logger[logger_name]

logger.add_appenders Logging.appenders.rolling_file("log/#{logger_name}.log",
                                                    age: 'weekly',
                                                    layout: Logging.layouts.pattern(pattern: '[%d] %-5l %c: %m\n'),
                                                    level: :info)

有这样一种巧妙的做法吗?

0 个答案:

没有答案