class IRBTracker::IRBLoggable

Public Class Methods

new(service_name = 'undefined') click to toggle source
Calls superclass method
# File lib/irb_tracker/irb_loggable.rb, line 8
def initialize(service_name = 'undefined')
  logger = LoggerFactory.create service_name
  # rubocop:disable Style/RedundantBegin
  define_method :evaluate do |*args, &block|
    begin
      result = super(*args, &block)
      logger.info(source: 'irb_console',
                  user: LDAPLogin.current_user,
                  command: args.first.chomp,
                  result: inspect_last_value.chomp)
      result
    rescue StandardError => e
      logger.error(source: 'irb_console',
                   user: LDAPLogin.current_user,
                   command: args.first.chomp,
                   error: e.message,
                   error_trace: e.backtrace.inspect)
      raise e
    end
  end
  # rubocop:enable Style/RedundantBegin
end