Lai Yu-Hsuan
Lai Yu-Hsuan

Reputation: 28081

Bundler erase logger's format?

As long as I require gems by Bundler.require, my logger doesn't work well any more.

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

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

logger1.info 123
logger2.info 123

Output:

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

I even don't have logger in my Gemfile.

source 'http://rubygems.org'

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

EDIT: seems the problem is from ActiveSupport. Could I have it and Logger both? Any suggestion?

Upvotes: 1

Views: 69

Answers (1)

Casper
Casper

Reputation: 34308

active_support/core_ext changes the default logger format to Logger::SimpleFormatter.

To get the old formatter back you just need to manually assign it after initialization:

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

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

Upvotes: 3

Related Questions