Class: RailsSemanticLogger::Sidekiq::JobLogger
- Inherits:
-
Object
- Object
- RailsSemanticLogger::Sidekiq::JobLogger
- Defined in:
- lib/rails_semantic_logger/sidekiq/job_logger.rb
Class Attribute Summary collapse
Instance Method Summary collapse
- #call(item, queue, &block) ⇒ Object
-
#initialize(*_args) ⇒ JobLogger
constructor
Sidekiq 6.5 does not take any arguments, whereas v7 is given a logger.
- #prepare(job_hash, &block) ⇒ Object
Constructor Details
#initialize(*_args) ⇒ JobLogger
Sidekiq 6.5 does not take any arguments, whereas v7 is given a logger
13 14 |
# File 'lib/rails_semantic_logger/sidekiq/job_logger.rb', line 13 def initialize(*_args) end |
Class Attribute Details
.perform_messages ⇒ Object
7 8 9 |
# File 'lib/rails_semantic_logger/sidekiq/job_logger.rb', line 7 def instance_variable_defined?(:@perform_messages) ? @perform_messages : true end |
Instance Method Details
#call(item, queue, &block) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/rails_semantic_logger/sidekiq/job_logger.rb', line 16 def call(item, queue, &block) klass = item["wrapped"] || item["class"] logger = klass ? SemanticLogger[klass] : Sidekiq.logger SemanticLogger.tagged(queue: queue) do if # Latency is the time between when the job was enqueued and when it started executing. logger.info( "Start #perform", metric: "sidekiq.queue.latency", metric_amount: job_latency_ms(item) ) end # Measure the duration of running the job if logger.measure_info( "Completed #perform", on_exception_level: :error, log_exception: :full, metric: "sidekiq.job.perform", &block ) elsif block_given? yield end end end |
#prepare(job_hash, &block) ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/rails_semantic_logger/sidekiq/job_logger.rb', line 45 def prepare(job_hash, &block) level = job_hash["log_level"] if level SemanticLogger.silence(level) do SemanticLogger.tagged(job_hash_context(job_hash), &block) end else SemanticLogger.tagged(job_hash_context(job_hash), &block) end end |