Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions lib/raven/logger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,6 @@ module Raven
class Logger
LOG_PREFIX = "** [Raven] ".freeze

LEVELS = {
:debug => ::Logger::DEBUG,
:info => ::Logger::INFO,
:warn => ::Logger::WARN,
:error => ::Logger::ERROR,
:fatal => ::Logger::FATAL
}.freeze

[
:fatal,
:error,
Expand All @@ -21,12 +13,14 @@ class Logger
:debug,
].each do |level|
define_method level do |*args, &block|
msg = args[0] # Block-level default args is a 1.9 feature
msg ||= block.call if block
logger = Raven.configuration[:logger]
logger = ::Logger.new(STDOUT) if logger.nil?
return unless logger

msg = args[0] # Block-level default args is a 1.9 feature
msg ||= block.call if block

logger.add(LEVELS[level], "#{LOG_PREFIX}#{msg}", "sentry") if logger
logger.send(level, "sentry") { "#{LOG_PREFIX}#{msg}" }
end
end
end
Expand Down
27 changes: 4 additions & 23 deletions spec/raven/logger_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,20 @@
end
end

# Currently not testing the output here
context 'with a backend logger' do
before do
@logger = double('logger')
allow(Raven.configuration).to receive(:logger) { @logger }
end

it 'should log fatal messages' do
expect(@logger).to receive(:add).with(Logger::FATAL, '** [Raven] fatalmsg', 'sentry')
it 'should log to the provided logger' do
expect(@logger).to receive(:fatal).with('sentry')
subject.fatal 'fatalmsg'
end

it 'should log error messages' do
expect(@logger).to receive(:add).with(Logger::ERROR, '** [Raven] errormsg', 'sentry')
subject.error 'errormsg'
end

it 'should log warning messages' do
expect(@logger).to receive(:add).with(Logger::WARN, '** [Raven] warnmsg', 'sentry')
subject.warn 'warnmsg'
end

it 'should log info messages' do
expect(@logger).to receive(:add).with(Logger::INFO, '** [Raven] infomsg', 'sentry')
subject.info 'infomsg'
end

it 'should log debug messages' do
expect(@logger).to receive(:add).with(Logger::DEBUG, '** [Raven] debugmsg', 'sentry')
subject.debug 'debugmsg'
end

it 'should log messages from blocks' do
expect(@logger).to receive(:add).with(Logger::INFO, '** [Raven] infoblock', 'sentry')
expect(@logger).to receive(:info).with('sentry')
subject.info { 'infoblock' }
end
end
Expand Down