Class: LogStruct::ConfigStruct::Integrations

Inherits:
T::Struct
  • Object
show all
Includes:
Sorbet::SerializeSymbolKeys
Defined in:
lib/log_struct/config_struct/integrations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Sorbet::SerializeSymbolKeys

#serialize, #to_h

Constructor Details

#initialize(enable_sorbet_error_handlers: true, enable_lograge: true, lograge_custom_options: nil, enable_actionmailer: true, enable_host_authorization: true, enable_activejob: true, enable_rack_error_handler: true, enable_sidekiq: true, enable_shrine: true, enable_activestorage: true, enable_carrierwave: true, enable_goodjob: true, enable_semantic_logger: true, enable_color_output: true, color_map: nil, filter_noisy_loggers: false, enable_sql_logging: false, sql_slow_query_threshold: 100.0, sql_log_bind_params:) ⇒ void

Parameters:

  • enable_sorbet_error_handlers (Boolean) (defaults to: true)

    Enable or disable Sorbet error handler integration Default: true

  • enable_lograge (Boolean) (defaults to: true)

    Enable or disable Lograge integration Default: true

  • lograge_custom_options (Handlers::LogrageCustomOptions, nil) (defaults to: nil)

    Custom options for Lograge Default: nil

  • enable_actionmailer (Boolean) (defaults to: true)

    Enable or disable ActionMailer integration Default: true

  • enable_host_authorization (Boolean) (defaults to: true)

    Enable or disable host authorization logging Default: true

  • enable_activejob (Boolean) (defaults to: true)

    Enable or disable ActiveJob integration Default: true

  • enable_rack_error_handler (Boolean) (defaults to: true)

    Enable or disable Rack middleware Default: true

  • enable_sidekiq (Boolean) (defaults to: true)

    Enable or disable Sidekiq integration Default: true

  • enable_shrine (Boolean) (defaults to: true)

    Enable or disable Shrine integration Default: true

  • enable_activestorage (Boolean) (defaults to: true)

    Enable or disable ActiveStorage integration Default: true

  • enable_carrierwave (Boolean) (defaults to: true)

    Enable or disable CarrierWave integration Default: true

  • enable_goodjob (Boolean) (defaults to: true)

    Enable or disable GoodJob integration Default: true

  • enable_semantic_logger (Boolean) (defaults to: true)

    Enable SemanticLogger integration for high-performance logging Default: true

  • enable_color_output (Boolean) (defaults to: true)

    Enable colored JSON output in development Default: true

  • color_map (Hash{Symbol => Symbol}, nil) (defaults to: nil)

    Color configuration for JSON output Default: nil (uses SemanticLogger defaults)

  • filter_noisy_loggers (Boolean) (defaults to: false)

    Filter noisy loggers (ActionView, etc.) Default: false

  • enable_sql_logging (Boolean) (defaults to: false)

    Enable SQL query logging through ActiveRecord instrumentation Default: false (can be resource intensive)

  • sql_slow_query_threshold (Float, nil) (defaults to: 100.0)

    Only log SQL queries slower than this threshold (in milliseconds) Set to 0 or nil to log all queries Default: 100.0 (log queries taking >100ms)

  • sql_log_bind_params (Boolean)

    Include bind parameters in SQL logs (disable in production for security) Default: true in development/test, false in production



# File ''

prop :enable_sorbet_error_handlers, T::Boolean, default: true
prop :enable_lograge, T::Boolean, default: true
prop :lograge_custom_options, T.nilable(Handlers::LogrageCustomOptions), default: nil
prop :enable_actionmailer, T::Boolean, default: true
prop :enable_host_authorization, T::Boolean, default: true
prop :enable_activejob, T::Boolean, default: true
prop :enable_rack_error_handler, T::Boolean, default: true
prop :enable_sidekiq, T::Boolean, default: true
prop :enable_shrine, T::Boolean, default: true
prop :enable_activestorage, T::Boolean, default: true
prop :enable_carrierwave, T::Boolean, default: true
prop :enable_goodjob, T::Boolean, default: true
prop :enable_semantic_logger, T::Boolean, default: true
prop :enable_color_output, T::Boolean, default: true
prop :color_map, T.nilable(T::Hash[Symbol, Symbol]), default: nil
prop :filter_noisy_loggers, T::Boolean, default: false
prop :enable_sql_logging, T::Boolean, default: false
prop :sql_slow_query_threshold, T.nilable(Float), default: 100.0
prop :sql_log_bind_params, T::Boolean, factory: -> { !defined?(::Rails) || !::Rails.respond_to?(:env) || !::Rails.env.production? }

Instance Attribute Details

#color_mapHash{Symbol => Symbol}?

Color configuration for JSON output Default: nil (uses SemanticLogger defaults)

Returns:

  • (Hash{Symbol => Symbol}, nil)


# File ''

prop :color_map, T.nilable(T::Hash[Symbol, Symbol]), default: nil

#enable_actionmailerBoolean

Enable or disable ActionMailer integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_actionmailer, T::Boolean, default: true

#enable_activejobBoolean

Enable or disable ActiveJob integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_activejob, T::Boolean, default: true

#enable_activestorageBoolean

Enable or disable ActiveStorage integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_activestorage, T::Boolean, default: true

#enable_carrierwaveBoolean

Enable or disable CarrierWave integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_carrierwave, T::Boolean, default: true

#enable_color_outputBoolean

Enable colored JSON output in development Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_color_output, T::Boolean, default: true

#enable_goodjobBoolean

Enable or disable GoodJob integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_goodjob, T::Boolean, default: true

#enable_host_authorizationBoolean

Enable or disable host authorization logging Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_host_authorization, T::Boolean, default: true

#enable_logrageBoolean

Enable or disable Lograge integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_lograge, T::Boolean, default: true

#enable_rack_error_handlerBoolean

Enable or disable Rack middleware Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_rack_error_handler, T::Boolean, default: true

#enable_semantic_loggerBoolean

Enable SemanticLogger integration for high-performance logging Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_semantic_logger, T::Boolean, default: true

#enable_shrineBoolean

Enable or disable Shrine integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_shrine, T::Boolean, default: true

#enable_sidekiqBoolean

Enable or disable Sidekiq integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_sidekiq, T::Boolean, default: true

#enable_sorbet_error_handlersBoolean

Enable or disable Sorbet error handler integration Default: true

Returns:

  • (Boolean)


# File ''

prop :enable_sorbet_error_handlers, T::Boolean, default: true

#enable_sql_loggingBoolean

Enable SQL query logging through ActiveRecord instrumentation Default: false (can be resource intensive)

Returns:

  • (Boolean)


# File ''

prop :enable_sql_logging, T::Boolean, default: false

#filter_noisy_loggersBoolean

Filter noisy loggers (ActionView, etc.) Default: false

Returns:

  • (Boolean)


# File ''

prop :filter_noisy_loggers, T::Boolean, default: false

#lograge_custom_optionsHandlers::LogrageCustomOptions?

Custom options for Lograge Default: nil



# File ''

prop :lograge_custom_options, T.nilable(Handlers::LogrageCustomOptions), default: nil

#sql_log_bind_paramsBoolean

Include bind parameters in SQL logs (disable in production for security) Default: true in development/test, false in production

Returns:

  • (Boolean)


# File ''

prop :sql_log_bind_params, T::Boolean, factory: -> { !defined?(::Rails) || !::Rails.respond_to?(:env) || !::Rails.env.production? }

#sql_slow_query_thresholdFloat?

Only log SQL queries slower than this threshold (in milliseconds) Set to 0 or nil to log all queries Default: 100.0 (log queries taking >100ms)

Returns:

  • (Float, nil)


# File ''

prop :sql_slow_query_threshold, T.nilable(Float), default: 100.0