Skip to content

Commit

Permalink
Merge pull request #25426 from Shopify/fix-activejob-logger
Browse files Browse the repository at this point in the history
Fix jobs overriding AJ::Base#logger
  • Loading branch information
rafaelfranca committed Jun 17, 2016
1 parent 2a71f02 commit a8e2fb5
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion activejob/lib/active_job/logging.rb
Expand Up @@ -41,7 +41,7 @@ module Logging #:nodoc:
def tag_logger(*tags)
if logger.respond_to?(:tagged)
tags.unshift "ActiveJob" unless logger_tagged_by_active_job?
ActiveJob::Base.logger.tagged(*tags){ yield }
logger.tagged(*tags){ yield }
else
yield
end
Expand Down
7 changes: 6 additions & 1 deletion activejob/test/cases/logging_test.rb
Expand Up @@ -3,6 +3,7 @@
require 'active_support/core_ext/numeric/time'
require 'jobs/hello_job'
require 'jobs/logging_job'
require 'jobs/overridden_logging_job'
require 'jobs/nested_job'
require 'models/person'

Expand Down Expand Up @@ -41,7 +42,6 @@ def set_logger(logger)
ActiveJob::Base.logger = logger
end


def test_uses_active_job_as_tag
HelloJob.perform_later "Cristian"
assert_match(/\[ActiveJob\]/, @logger.messages)
Expand Down Expand Up @@ -119,4 +119,9 @@ def test_enqueue_in_job_logging
rescue NotImplementedError
skip
end

def test_for_tagged_logger_support_is_consistent
set_logger ::Logger.new(nil)
OverriddenLoggingJob.perform_later "Dummy"
end
end
9 changes: 9 additions & 0 deletions activejob/test/jobs/overridden_logging_job.rb
@@ -0,0 +1,9 @@
class OverriddenLoggingJob < ActiveJob::Base
def perform(dummy)
logger.info "Dummy, here is it: #{dummy}"
end

def logger
@logger ||= ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(nil))
end
end

0 comments on commit a8e2fb5

Please sign in to comment.