如何在ruby中向记录器添加自定义日志级别? [英] How to add a custom log level to logger in ruby?

查看:82
本文介绍了如何在ruby中向记录器添加自定义日志级别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要向ruby logger添加一个自定义日志级别,例如详细"或流量",该怎么办?

I need to add a custom log level like "verbose" or "traffic" to ruby logger, how to do?

推荐答案

您可以简单地将其添加到Logger类中:

You can simply add to the Logger class:

require 'logger'

class Logger
  def self.custom_level(tag)
    SEV_LABEL << tag 
    idx = SEV_LABEL.size - 1 

    define_method(tag.downcase.gsub(/\W+/, '_').to_sym) do |progname, &block|
      add(idx, nil, progname, &block)
    end 
  end 

  # now add levels like this:

  custom_level 'TRAFFIC'
  custom_level 'ANOTHER-TAG'
end


# using it:

log = Logger.new($stdout)
log.traffic('testing')
log.another_tag('another message here.')

这篇关于如何在ruby中向记录器添加自定义日志级别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆