Module: Commonbase::LogHelpers

Defined in:
lib/commonbase/helpers/log_helpers.rb

Instance Method Summary collapse

Instance Method Details

#log_error(message, data = nil) ⇒ Object

++ Log an error message ++ –

Parameters:

  • message (String)

    Error message

  • data (Hash) (defaults to: nil)

    Additional data to log



29
30
31
# File 'lib/commonbase/helpers/log_helpers.rb', line 29

def log_error(message, data = nil)
  log_message(:error, message, data)
end

#log_exception(exception, level = :error, data = nil) ⇒ Object

++ Log an exception details ++ –

Parameters:

  • exception (Exception)

    Exception object

  • level (Symbol) (defaults to: :error)

    Log level, default to :error

  • data (Hash) (defaults to: nil)

    Additional data to log



11
12
13
14
15
16
17
18
19
20
# File 'lib/commonbase/helpers/log_helpers.rb', line 11

def log_exception(exception, level = :error, data = nil)
  unless level.present?
    level = :error
  end

  log_message(level, "Exception to_s: #{ exception.to_s }", data)
  log_message(level, "Exception message: #{ exception.message }", data)
  log_message(level, "Exception type: #{ exception.class }", data)
  log_message(level, "Exception backtrace: #{ exception.backtrace&.join("\n") }", data)
end

#log_info(message, data = nil) ⇒ Object

++ Log an info message ++ –

Parameters:

  • message (String)

    Information message

  • data (Hash) (defaults to: nil)

    Additional data to log



40
41
42
# File 'lib/commonbase/helpers/log_helpers.rb', line 40

def log_info(message, data = nil)
    log_message(:info, message, data)
end

#log_message(level, message, data = nil) ⇒ Object



85
86
87
88
89
# File 'lib/commonbase/helpers/log_helpers.rb', line 85

def log_message(level, message, data = nil)
    return unless level.present?

    Rails.logger.public_send(level, "#{level.upcase}: #{message} #{data.inspect if data.present?}")
end

#log_request(request, level = :info) ⇒ Object

++ Log a request details ++ –

Parameters:

  • request (ActionDispatch::Request)

    Request object

  • level (Symbol) (defaults to: :info)

    Log level, default to :info



72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/commonbase/helpers/log_helpers.rb', line 72

def log_request(request, level = :info)
    return if request.nil?

    unless level.present?
      level = :info
    end
  
    log_message(level, "Request url:", request.url)
    log_message(level, "Request method:", request.method)
    log_message(level, "Request params:", request.params)
    log_message(level, "Request body:", request.body&.read)
end

#log_smtp_settings(with_password = false, level = :info) ⇒ Object

++ Log SMTP settings ++ –

Parameters:

  • with_password (Boolean) (defaults to: false)

    Keep password in the log, default to false

  • level (Symbol) (defaults to: :info)

    Log level, default to :info



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/commonbase/helpers/log_helpers.rb', line 51

def log_smtp_settings(with_password = false, level = :info)
  smtp_settings = ActionMailer::Base.smtp_settings.dup()

  unless with_password
      smtp_settings.delete(:password)
  end

  unless level.present?
    level = :info
  end

  log_message(level, "SMTP settings: #{ smtp_settings.to_json }")
end