module LogToolbox::LogHelper

Public Instance Methods

log_critical(error, additional = {}) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 5
def log_critical(error, additional = {})
  log_pattern(
    'fatal',
    additional.merge(
      message: error.try(:message),
      backtrace: error.try(:backtrace),
      status: 500
    )
  )
end
log_debug(message, additional = {}) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 28
def log_debug(message, additional = {})
  log_pattern('debug', additional.merge(message: message))
end
log_error(message, additional = {}) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 16
def log_error(message, additional = {})
  log_pattern('error', additional.merge(message: message))
end
log_info(message, additional = {}) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 24
def log_info(message, additional = {})
  log_pattern('info', additional.merge(message: message))
end
log_warn(message, additional = {}) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 20
def log_warn(message, additional = {})
  log_pattern('warn', additional.merge(message: message))
end

Private Instance Methods

default_log(level) click to toggle source

rubocop:disable Metrics/MethodLength

# File lib/log_toolbox/log_helper.rb, line 35
def default_log(level)
  level = 'CRITICAL' if level == 'FATAL'
  {
    activityID: request.headers['activityID'],
    event_at: I18n.l(Time.now, format: :timestamp),
    level: level,
    service_name: LogUtil.system_service_name,
    version: LogUtil.system_version,
    origin_ipv4: request.env['REMOTE_ADDR'],
    destination_ipv4: request.env['SERVER_NAME'],
    username: request.headers['Authorization']
  }
end
log_pattern(level, log_hash) click to toggle source

rubocop:enable Metrics/MethodLength

# File lib/log_toolbox/log_helper.rb, line 50
def log_pattern(level, log_hash)
  log = default_log(level.upcase).merge(log_hash)
  logger.send(level, normalize_hash(log))
end
normalize_hash(hash) click to toggle source
# File lib/log_toolbox/log_helper.rb, line 55
def normalize_hash(hash)
  hash.stringify_keys.to_json
end