当前位置:  开发笔记 > 编程语言 > 正文

使用Ruby logger根据日志记录级别记录到不同的文件

如何解决《使用Rubylogger根据日志记录级别记录到不同的文件》经验,为你挑选了1个好方法。



1> spickermann..:

定义自己的自定义记录器类:

require 'logger'

class DistinctFileLogger
  LOG_LEVEL = [:debug , :info , :warn , :error , :fatal , :unknown]

  def initialize(path)
    @loggers = {}

    LOG_LEVEL.each do |level|
      @loggers[level] = Logger.new("#{path}/#{level}.log")
    end
  end

  LOG_LEVEL.each do |level|
    define_method(level) do |message|
      @loggers[level].send(level, message)
    end
  end
end

然后将您的应用配置为使用此自定义记录器,而不是原始记录器。例如,在Rails中-可以在您的环境配置中完成:

Rails.logger = DistinctFileLogger.new(Rails.root.join('log'))

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有