我想实现一个记录器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)
有这样一种巧妙的做法吗?