在ruby中只记录一次特定事件
ruby中是否有允许您只记录一次特定事件类型的日志框架在ruby中只记录一次特定事件,ruby,logging,Ruby,Logging,ruby中是否有允许您只记录一次特定事件类型的日志框架 logger = IdealLogger.new logger.log(:happy_path, "We reached the happy path") # => logs this message logger.log(:happy_path, "We reached the happy path yet again") # => Doesn't log this logger.log(:sad_path, "We've e
logger = IdealLogger.new
logger.log(:happy_path, "We reached the happy path") # => logs this message
logger.log(:happy_path, "We reached the happy path yet again") # => Doesn't log this
logger.log(:sad_path, "We've encountered a sad path!") # => logs this message
另外,是否有一个术语来表示只记录一次特定事件类型的概念
logger = IdealLogger.new
logger.log(:happy_path, "We reached the happy path") # => logs this message
logger.log(:happy_path, "We reached the happy path yet again") # => Doesn't log this
logger.log(:sad_path, "We've encountered a sad path!") # => logs this message
编辑:我使用的是,而不是Rails。我认为“每次脚本运行一次”应该是“一次”。我不知道有一次,但是扩展日志程序来创建自己的日志并不太困难。它本质上是为日志实现缓存,但不是像普通应用程序那样从缓存中获取并返回它,而是在缓存后将其取消。这个日志缓存的实现和过期策略留给读者作为练习 比如:
class IdealLogger < Logger
def info(event = nil, progname = nil, &block)
super(progname, &block) unless event_is_cached(event)
end
# define debug, warn, error, fatal, and unknown the same way, override others
# as you wish.
end
class-idellogger
每个请求一次?每个应用程序启动一次?每小时一次?