Module: Bp3::Core::SystemLogs::ClassMethods
- Included in:
- Bp3::Core::SystemLogs
- Defined in:
- lib/bp3/core/system_logs.rb
Overview
Class methods for use in contexts without instance methods
Instance Method Summary collapse
- #exception_logger ⇒ Object
-
#log(level:, key:, message: nil, exception: nil, site: nil, details: {}, **system_log_options) ⇒ Object
rubocop:disable Metrics/ParameterLists, Metrics/MethodLength.
-
#log_debug(key:, message:, details: {}, **system_log_options) ⇒ Object
rubocop:enable Metrics/ParameterLists, Metrics/MethodLength.
- #log_error(key:, message:, details: {}, **system_log_options) ⇒ Object
- #log_exception(exception, key:, details: {}, **system_log_options) ⇒ Object
- #log_info(key:, message:, details: {}, **system_log_options) ⇒ Object
- #log_warn(key:, message:, details: {}, **system_log_options) ⇒ Object
- #rails_logger ⇒ Object
- #system_logger ⇒ Object
Instance Method Details
#exception_logger ⇒ Object
82 83 84 |
# File 'lib/bp3/core/system_logs.rb', line 82 def exception_logger ::Bp3::Core::SystemLogs.system_exception_class end |
#log(level:, key:, message: nil, exception: nil, site: nil, details: {}, **system_log_options) ⇒ Object
rubocop:disable Metrics/ParameterLists, Metrics/MethodLength
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/bp3/core/system_logs.rb', line 25 def log(level:, key:, message: nil, exception: nil, site: nil, details: {}, **) = SYSTEM_LOG_DEFAULTS.dup.merge() record = nil if exception if [:log_to_io] rails_logger.debug do "SystemLogs, #{level}, #{key}, #{exception.}" end end record = exception_logger.log_exception(exception, site:, key:, details:) if [:log_to_db] end return record if ( || '').strip == '' rails_logger.debug { "SystemLogs, #{level}, #{key}, #{}" } if [:log_to_io] begin system_logger.(level:, key:, message:, details:) if [:log_to_db] rescue StandardError => e rails_logger.error { "SystemLogs.log failed: #{e.}" } nil end end |
#log_debug(key:, message:, details: {}, **system_log_options) ⇒ Object
rubocop:enable Metrics/ParameterLists, Metrics/MethodLength
48 49 50 |
# File 'lib/bp3/core/system_logs.rb', line 48 def log_debug(key:, message:, details: {}, **) log(level: 'debug', key:, message:, details:, **) end |
#log_error(key:, message:, details: {}, **system_log_options) ⇒ Object
60 61 62 |
# File 'lib/bp3/core/system_logs.rb', line 60 def log_error(key:, message:, details: {}, **) log(level: 'error', key:, message:, details:, **) end |
#log_exception(exception, key:, details: {}, **system_log_options) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/bp3/core/system_logs.rb', line 64 def log_exception(exception, key:, details: {}, **) if exception.nil? rails_logger.error { "SystemLogs, #{key}, nil exception logged" } return nil end log(level: 'exception', key:, exception:, details:, **) end |
#log_info(key:, message:, details: {}, **system_log_options) ⇒ Object
52 53 54 |
# File 'lib/bp3/core/system_logs.rb', line 52 def log_info(key:, message:, details: {}, **) log(level: 'info', key:, message:, details:, **) end |
#log_warn(key:, message:, details: {}, **system_log_options) ⇒ Object
56 57 58 |
# File 'lib/bp3/core/system_logs.rb', line 56 def log_warn(key:, message:, details: {}, **) log(level: 'warn', key:, message:, details:, **) end |
#rails_logger ⇒ Object
72 73 74 75 76 |
# File 'lib/bp3/core/system_logs.rb', line 72 def rails_logger return Rails.logger if defined?(Rails) ::Logger.new($stdout, level: Logger::ERROR) end |
#system_logger ⇒ Object
78 79 80 |
# File 'lib/bp3/core/system_logs.rb', line 78 def system_logger ::Bp3::Core::SystemLogs.system_log_class end |