Module: UnifiedLogger

Defined in:
lib/unified_logger.rb,
lib/unified_logger/logger.rb,
lib/unified_logger/railtie.rb,
lib/unified_logger/sidekiq.rb,
lib/unified_logger/version.rb,
lib/unified_logger/job_logger.rb,
lib/unified_logger/request_logger.rb

Defined Under Namespace

Classes: DoubleDefineError, JobLogger, Logger, Railtie, RequestLogger, SidekiqServerMiddleware

Constant Summary collapse

DEFAULTS =
{
  max_log_field_size:     2048,
  max_log_size:           10_000,
  filter_params:          %i[passw secret token crypt salt certificate otp ssn set-cookie http_authorization http_cookie pin],
  auto_insert_middleware: true,
  silence_paths:          []
}.freeze
VERSION =
"0.1.9".freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.format_log_callableObject (readonly)

Returns the value of attribute format_log_callable.



39
40
41
# File 'lib/unified_logger.rb', line 39

def format_log_callable
  @format_log_callable
end

.transform_job_log_callableObject (readonly)

Returns the value of attribute transform_job_log_callable.



39
40
41
# File 'lib/unified_logger.rb', line 39

def transform_job_log_callable
  @transform_job_log_callable
end

.transform_request_log_callableObject (readonly)

Returns the value of attribute transform_request_log_callable.



39
40
41
# File 'lib/unified_logger.rb', line 39

def transform_request_log_callable
  @transform_request_log_callable
end

Class Method Details

.backtrace_rootObject



66
67
68
69
70
71
72
# File 'lib/unified_logger.rb', line 66

def self.backtrace_root
  if defined?(Rails)
    Rails.root.to_s
  else
    Dir.pwd
  end
end

.configObject



30
31
32
# File 'lib/unified_logger.rb', line 30

def self.config
  @config ||= DEFAULTS.dup
end

.configure(options = {}) ⇒ Object



34
35
36
# File 'lib/unified_logger.rb', line 34

def self.configure(options = {})
  config.merge!(options)
end

.current_loggerObject



74
75
76
77
78
79
80
81
# File 'lib/unified_logger.rb', line 74

def self.current_logger
  return unless defined?(Rails)

  return Rails.logger if Rails.logger.is_a?(UnifiedLogger::Logger)
  return Rails.logger unless Rails.logger.respond_to?(:broadcasts)

  Rails.logger.broadcasts.find { |l| l.is_a?(UnifiedLogger::Logger) } || Rails.logger
end

.current_timeObject



83
84
85
# File 'lib/unified_logger.rb', line 83

def self.current_time
  Time.zone&.now || Time.now.utc
end

.format_log=(callable) ⇒ Object

Raises:



53
54
55
56
57
# File 'lib/unified_logger.rb', line 53

def format_log=(callable)
  raise DoubleDefineError, "format_log already defined" if @format_log_callable

  @format_log_callable = callable
end

.formatted_timeObject



87
88
89
# File 'lib/unified_logger.rb', line 87

def self.formatted_time
  current_time.iso8601(3)
end

.transform_job_log=(callable) ⇒ Object

Raises:



47
48
49
50
51
# File 'lib/unified_logger.rb', line 47

def transform_job_log=(callable)
  raise DoubleDefineError, "transform_job_log already defined" if @transform_job_log_callable

  @transform_job_log_callable = callable
end

.transform_request_log=(callable) ⇒ Object

Raises:



41
42
43
44
45
# File 'lib/unified_logger.rb', line 41

def transform_request_log=(callable)
  raise DoubleDefineError, "transform_request_log already defined" if @transform_request_log_callable

  @transform_request_log_callable = callable
end