gpt4 book ai didi

ruby - 我怎样才能将 ruby​​ logger 日志输出到 stdout 和文件?

转载 作者:数据小太阳 更新时间:2023-10-29 06:18:33 25 4
gpt4 key购买 nike

有点像记录器中的 T 恤功能。

最佳答案

您可以编写一个伪IO 类来写入多个IO 对象。像这样的东西:

class MultiIO
def initialize(*targets)
@targets = targets
end

def write(*args)
@targets.each {|t| t.write(*args)}
end

def close
@targets.each(&:close)
end
end

然后将其设置为您的日志文件:

log_file = File.open("log/debug.log", "a")
Logger.new MultiIO.new(STDOUT, log_file)

每次 Logger 在您的 MultiIO 对象上调用 puts 时,它都会写入 STDOUT 和您的日志文件。

编辑:我继续研究界面的其余部分。日志设备必须响应writeclose(不是puts)。只要 MultiIO 响应这些并将它们代理到真实的 IO 对象,这应该可以工作。

关于ruby - 我怎样才能将 ruby​​ logger 日志输出到 stdout 和文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407141/

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