Bundler擦除记录器的格式?

时间:2012-06-29 09:53:23

标签: ruby logging activesupport

只要我Bundler.require需要宝石,我的记录器就不再有效了。

require "logger"
logger1 = Logger.new(STDERR)

require 'bundler/setup'
Bundler.require
logger2 = Logger.new(STDERR)

logger1.info 123
logger2.info 123

输出:

I, [2012-06-29T17:51:30.323356 #20774]  INFO -- : 123
123

我的logger中甚至没有Gemfile

source 'http://rubygems.org'

gem "activesupport", "~> 3.2.6", :require => ["active_support", "active_support/core_ext"]

修改: 似乎问题来自ActiveSupport。我可以和它Logger吗?有什么建议吗?

1 个答案:

答案 0 :(得分:3)

active_support/core_ext将默认记录器格式更改为Logger::SimpleFormatter

要恢复旧的格式化程序,您只需在初始化后手动分配它:

logger2 = Logger.new(STDERR)
logger2.formatter = Logger::Formatter.new

logger2.info 123
=> I, [2012-06-29T13:56:07.580428 #24714]  INFO -- : 123