Module: LogStruct::Integrations::Sidekiq

Extended by:
IntegrationInterface, T::Sig
Defined in:
lib/log_struct/integrations/sidekiq.rb,
lib/log_struct/integrations/sidekiq/logger.rb

Overview

Sidekiq integration for structured logging

Defined Under Namespace

Classes: Logger

Class Method Summary collapse

Methods included from IntegrationInterface

setup

Class Method Details

.setup(config) ⇒ Boolean?

Set up Sidekiq structured logging

Parameters:

Returns:

  • (Boolean, nil)


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/log_struct/integrations/sidekiq.rb', line 20

def self.setup(config)
  return nil unless defined?(::Sidekiq)
  return nil unless config.enabled
  return nil unless config.integrations.enable_sidekiq

  # Configure Sidekiq server (worker) to use our logger
  ::Sidekiq.configure_server do |sidekiq_config|
    sidekiq_config.logger = LogStruct::Integrations::Sidekiq::Logger.new("Sidekiq-Server")
  end

  # Configure Sidekiq client (Rails app) to use our logger
  ::Sidekiq.configure_client do |sidekiq_config|
    sidekiq_config.logger = LogStruct::Integrations::Sidekiq::Logger.new("Sidekiq-Client")
  end

  true
end

.tidString

Get thread ID for Sidekiq logging

Returns:

  • (String)


15
16
17
# File 'lib/log_struct/integrations/sidekiq/logger.rb', line 15

def self.tid
  Thread.current["sidekiq_tid"] ||= (Thread.current.object_id ^ ::Process.pid).to_s(36)
end