Skip to content

Commit 08afbfd

Browse files
committed
Add tagged job logger for ApplicationJobs
1 parent 7d8572d commit 08afbfd

3 files changed

Lines changed: 25 additions & 72 deletions

File tree

app/jobs/application_job.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
class ApplicationJob < ActiveJob::Base
22
# Automatically retry jobs that encountered a deadlock
3-
# retry_on ActiveRecord::Deadlocked
3+
retry_on ActiveRecord::Deadlocked
44

55
# Most jobs are safe to ignore if the underlying records are no longer available
6-
# discard_on ActiveJob::DeserializationError
6+
discard_on ActiveJob::DeserializationError
7+
8+
def initialize
9+
@job_id = SecureRandom.uuid
10+
end
11+
12+
def logger
13+
Rails.job_logger.tagged(self.class.name, @job_id)
14+
end
715
end

config/initializers/job_logger.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module Rails
2+
class << self
3+
@job_logger = nil
4+
5+
def job_logger
6+
if @job_logger.nil?
7+
logger = ActiveSupport::Logger.new(Rails.root.join('log/jobs.log'))
8+
logger.level = ActiveSupport::Logger::INFO
9+
@job_logger = ActiveSupport::TaggedLogging.new(logger)
10+
else
11+
@job_logger
12+
end
13+
end
14+
end
15+
end

config/initializers/new_framework_defaults_7_2.rb

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)