Module: Legion::Extensions::Helpers::Logger
- Included in:
- Lex
- Defined in:
- lib/legion/extensions/helpers/logger.rb
Instance Method Summary collapse
- #handle_exception(exception, task_id: nil, **opts) ⇒ Object
-
#log ⇒ Object
rubocop:disable Metrics/AbcSize.
Instance Method Details
#handle_exception(exception, task_id: nil, **opts) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/legion/extensions/helpers/logger.rb', line 25 def handle_exception(exception, task_id: nil, **opts) log.error exception. + " for task_id: #{task_id} but was logged " log.error exception.backtrace[0..10] log.error opts unless task_id.nil? Legion::Transport::Messages::TaskLog.new( task_id: task_id, runner_class: to_s, entry: { exception: true, message: exception., **opts } ).publish end raise Legion::Exception::HandledTask end |
#log ⇒ Object
rubocop:disable Metrics/AbcSize
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/helpers/logger.rb', line 5 def log # rubocop:disable Metrics/AbcSize return @log unless @log.nil? logger_hash = { lex: lex_filename || nil } logger_hash[:lex] = lex_filename.first if logger_hash[:lex].is_a? Array if respond_to?(:settings) && settings.key?(:logger) logger_hash[:level] = settings[:logger][:level] if settings[:logger].key? :level logger_hash[:level] = settings[:logger][:log_file] if settings[:logger].key? :log_file logger_hash[:level] = 'info' unless settings[:logger].key? :log_file logger_hash[:trace] = settings[:logger][:trace] if settings[:logger].key? :trace logger_hash[:extended] = settings[:logger][:extended] if settings[:logger].key? :extended elsif respond_to?(:settings) Legion::Logging.warn Legion::Settings[:extensions][lex_filename.to_sym] Legion::Logging.warn "#{lex_name} has settings but no :logger key" else Legion::Logging.warn 'no settings' end @log = Legion::Logging::Logger.new(**logger_hash) end |