Parent

Class/Module Index [+]

Quicksearch

Cinch::Logger

This is the base logger class from which all loggers have to inherit.

@version 2.0.0

Constants

LevelOrder

@private

Attributes

level[RW]

@return [Array<:debug, :log, :info, :warn, :error, :fatal>]

The minimum level of events to log
mutex[R]

@return [Mutex] @api private

output[R]

@return [IO] @api private

Public Class Methods

new(output) click to toggle source

@param [IO] output The I/O object to write log data to

# File lib/cinch/logger.rb, line 23
def initialize(output)
  @output = output
  @mutex  = Mutex.new
  @level  = :debug
end

Public Instance Methods

debug(message) click to toggle source

Logs a debugging message.

@param [String] message @return [void] @version 2.0.0

# File lib/cinch/logger.rb, line 34
def debug(message)
  log(message, :debug)
end
error(message) click to toggle source

Logs an error message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 43
def error(message)
  log(message, :error)
end
exception(e) click to toggle source

Logs an exception.

@param [Exception] e @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 97
def exception(e)
  log(e.message, :exception, :error)
end
fatal(message) click to toggle source

Logs a fatal message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 52
def fatal(message)
  log(message, :fatal)
end
incoming(message) click to toggle source

Logs an incoming IRC message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 79
def incoming(message)
  log(message, :incoming, :log)
end
info(message) click to toggle source

Logs an info message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 61
def info(message)
  log(message, :info)
end
log(messages, event = :debug, level = event) click to toggle source

Logs a message.

@param [String, Array] messages The message(s) to log @param [:debug, :incoming, :outgoing, :info, :warn,

:exception, :error, :fatal] event The kind of event that
triggered the message

@param [:debug, :info, :warn, :error, :fatal] level The level of the message @return [void] @version 2.0.0

# File lib/cinch/logger.rb, line 110
def log(messages, event = :debug, level = event)
  return unless will_log?(level)
  @mutex.synchronize do
    Array(messages).each do |message|
      message = format_general(message)
      message = format_message(message, event)

      next if message.nil?
      @output.puts message.encode("locale", {:invalid => :replace, :undef => :replace})
    end
  end
end
outgoing(message) click to toggle source

Logs an outgoing IRC message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 88
def outgoing(message)
  log(message, :outgoing, :log)
end
warn(message) click to toggle source

Logs a warning message.

@param [String] message @return [void] @since 2.0.0

# File lib/cinch/logger.rb, line 70
def warn(message)
  log(message, :warn)
end
will_log?(level) click to toggle source

@param [:debug, :info, :warn, :error, :fatal] level @return [Boolean] Whether the currently set logging level will

allow the passed in level to be logged

@since 2.0.0

# File lib/cinch/logger.rb, line 127
def will_log?(level)
  LevelOrder.index(level) >= LevelOrder.index(@level)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.