Module: Loggable

Included in:
IRC::Client
Defined in:
lib/rhuidean/loggable.rb

Overview

rhuidean: a small, lightweight IRC client library lib/rhuidean/loggable.rb: a mixin for easy logging

Copyright © 2003-2011 Eric Will <[email protected]>

Defined Under Namespace

Classes: Formatter

Instance Method Summary collapse

Instance Method Details

#log(level, message) ⇒ Object

Logs a regular message.


message

the string to log

returns

self



51
52
53
54
55
# File 'lib/rhuidean/loggable.rb', line 51

def log(level, message)
    return unless level.to_s =~ /(fatal|error|warning|info|debug)/

    @logger.send(level, caller[0].split('/')[-1]) { message } if @logger
end

#log_level=(level) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/rhuidean/loggable.rb', line 75

def log_level=(level)
    case level
    when :none
        @logger = nil
    when :fatal
        @logger.level = Logger::FATAL
    when :error
        @logger.level = Logger::ERROR
    when :warning
        @logger.level = Logger::WARN
    when :info
        @logger.level = Logger::INFO
    when :debug
        @logger.level = Logger::DEBUG
    else
        @logger.level = Logger::WARN
    end
end

#logger=(logger) ⇒ Object

Sets the logging object to use. If it quacks like a Logger object, it should work.


logger

the Logger to use

returns

self



64
65
66
67
68
69
70
71
72
73
# File 'lib/rhuidean/loggable.rb', line 64

def logger=(logger)
    logger.level = @logger.level if @logger and logger

    @logger = logger

    # Set to false/nil to disable logging...
    return unless @logger

    @logger.formatter = Formatter.new
end