module Celluloid::Internals::Logger

Public Instance Methods

crash(string, exception) click to toggle source

Handle a crash

# File lib/celluloid/internals/logger.rb, line 65
def crash(string, exception)
  if Celluloid.log_actor_crashes
    string << "\n" << format_exception(exception)
    error string
  end

  @exception_handlers.each do |handler|
    begin
      handler.call(exception)
    rescue => ex
      error "EXCEPTION HANDLER CRASHED:\n" << format_exception(ex)
    end
  end
end
debug(string) click to toggle source

Send a debug message

# File lib/celluloid/internals/logger.rb, line 42
def debug(string)
  # !!! DO NOT INTRODUCE ADDITIONAL GLOBAL VARIABLES !!!
  # rubocop:disable Style/GlobalVars
  Celluloid.logger.debug(string) if Celluloid.logger && $CELLULOID_DEBUG
  # rubocop:enable Style/GlobalVars
end
deprecate(message) click to toggle source

Note a deprecation

# File lib/celluloid/internals/logger.rb, line 81
def deprecate(message)
  trace = caller.join("\n\t")
  warn "DEPRECATION WARNING: #{message}\n\t#{trace}"
end
error(string) click to toggle source

Send an error message

# File lib/celluloid/internals/logger.rb, line 60
def error(string)
  Celluloid.logger.error(string) if Celluloid.logger
end
exception_handler(&block) click to toggle source

Define an exception handler NOTE: These should be defined at application start time

# File lib/celluloid/internals/logger.rb, line 88
def exception_handler(&block)
  @exception_handlers << block
  nil
end
format_exception(exception) click to toggle source

Format an exception message

# File lib/celluloid/internals/logger.rb, line 94
def format_exception(exception)
  str = "#{exception.class}: #{exception}\n\t"
  str << if exception.backtrace
           exception.backtrace.join("\n\t")
         else
           "EMPTY BACKTRACE\n\t"
         end
end
info(string) click to toggle source

Send a info message

# File lib/celluloid/internals/logger.rb, line 50
def info(string)
  Celluloid.logger.info(string) if Celluloid.logger
end
warn(string) click to toggle source

Send a warning message

# File lib/celluloid/internals/logger.rb, line 55
def warn(string)
  Celluloid.logger.warn(string) if Celluloid.logger
end
with_backtrace(backtrace) { |with_backtrace| ... } click to toggle source
# File lib/celluloid/internals/logger.rb, line 37
def with_backtrace(backtrace)
  yield WithBacktrace.new(backtrace) if Celluloid.logger
end