Skip to content

Commit b744c8d

Browse files
authored
Merge pull request rails#50164 from Aerdayne/do-not-overwrite-aj-logger
Do not overwrite AJ logger if it is supplied
2 parents 354d68e + e03cc18 commit b744c8d

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

activejob/lib/active_job/railtie.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Railtie < Rails::Railtie # :nodoc:
1515
end
1616

1717
initializer "active_job.logger" do
18-
ActiveSupport.on_load(:active_job) { self.logger = ::Rails.logger }
18+
ActiveSupport.on_load(:active_job) { self.logger ||= ::Rails.logger }
1919
end
2020

2121
initializer "active_job.custom_serializers" do |app|

activejob/test/cases/railtie_test.rb

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# frozen_string_literal: true
2+
3+
require "helper"
4+
require "active_support/testing/isolation"
5+
6+
class RailtieTest < ActiveSupport::TestCase
7+
include ActiveSupport::Testing::Isolation
8+
9+
setup do
10+
require "rails"
11+
12+
rails_logger = Logger.new(nil)
13+
14+
@app ||= Class.new(::Rails::Application) do
15+
def self.name; "AJRailtieTestApp"; end
16+
17+
config.eager_load = false
18+
config.logger = rails_logger
19+
config.active_support.cache_format_version = 7.1
20+
end
21+
end
22+
23+
test "active_job.logger initializer does not overwrite the supplied logger" do
24+
custom_logger = Logger.new(nil)
25+
26+
@app.config.before_initialize do |app|
27+
ActiveSupport.on_load(:active_job) do
28+
self.logger = custom_logger
29+
end
30+
end
31+
32+
require "active_job/railtie"
33+
@app.initialize!
34+
35+
assert_same ActiveJob::Base.logger, custom_logger
36+
end
37+
end

0 commit comments

Comments
 (0)