1

只要我需要 gems by 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同时拥有它吗?有什么建议吗?

4

1 回答 1

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
于 2012-06-29T11:01:04.870 回答