Class: NatsWork::Middleware::Logger
- Inherits:
-
Object
- Object
- NatsWork::Middleware::Logger
- Defined in:
- lib/natswork/middleware.rb
Overview
Built-in Middleware
Instance Method Summary collapse
- #call(job, message) ⇒ Object
-
#initialize(logger: ::Logger.new($stdout)) ⇒ Logger
constructor
A new instance of Logger.
Constructor Details
#initialize(logger: ::Logger.new($stdout)) ⇒ Logger
Returns a new instance of Logger.
60 61 62 |
# File 'lib/natswork/middleware.rb', line 60 def initialize(logger: ::Logger.new($stdout)) @logger = logger end |
Instance Method Details
#call(job, message) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/natswork/middleware.rb', line 64 def call(job, ) job_class = job.class.name job_id = ['job_id'] @logger.info "Starting job #{job_class} (#{job_id})" started_at = Time.now begin result = yield elapsed = ((Time.now - started_at) * 1000).round(2) @logger.info "Completed job #{job_class} (#{job_id}) in #{elapsed}ms" result rescue StandardError => e elapsed = ((Time.now - started_at) * 1000).round(2) @logger.error "Failed job #{job_class} (#{job_id}) after #{elapsed}ms: #{e.message}" raise end end |