gpt4 book ai didi

ruby - 在 ruby​​ 中仅记录一次特定事件

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:17 24 4
gpt4 key购买 nike

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 encountered a sad path!") # => logs this message

此外,是否有一个术语可以表示只记录一次特定事件类型的概念?

编辑:我正在使用 Plain Old Ruby Objects ,不是铁轨。我想到的是“每次脚本运行一次”为“一次”。

最佳答案

我不知道其中之一,但是扩展 Logger 来制作您自己的并不太难。它本质上是为您的日志记录实现缓存,但不是像使用普通应用程序那样从缓存中获取并返回它,而是在它被缓存时取消它。此日志缓存的实现和过期策略留给读者作为练习。

类似于:

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

关于ruby - 在 ruby​​ 中仅记录一次特定事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2995200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com