1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
# =XMPP4R - XMPP Library for Ruby
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
# Website::http://xmpp4r.github.io
require 'logger'
module Jabber
def Jabber::logger
@@logger ||= Logger.new($stderr)
end
# Set the logger to use for debug and warn (if enabled)
def Jabber::logger=(logger)
@@logger = logger
end
# Is debugging mode enabled ?
@@debug = false
# Is warnings mode enabled ?
@@warnings = false
# Enable/disable debugging mode. When debug mode is enabled, information
# can be logged using Jabber::debuglog. When debug mode is disabled, calls
# to Jabber::debuglog are just ignored.
def Jabber::debug=(debug)
@@debug = debug
if @@debug
debuglog('Debugging mode enabled.')
#if debug is enabled, we should automatically enable warnings too
Jabber::warnings = true
end
end
# Enable/disable warnings mode.
def Jabber::warnings=(warnings)
@@warnings = warnings
if @@warnings
warnlog('Warnings mode enabled.')
end
end
# returns true if debugging mode is enabled. If you just want to log
# something if debugging is enabled, use Jabber::debuglog instead.
def Jabber::debug
@@debug
end
# Outputs a string only if debugging mode is enabled. If the string includes
# several lines, 4 spaces are added at the beginning of each line but the
# first one. Time is prepended to the string.
def Jabber::debuglog(string)
return if not @@debug
logger.debug string.chomp.gsub("\n", "\n ")
end
# Outputs a string only if warnings mode is enabled.
def Jabber::warnlog(string)
return if not @@warnings
logger.warn string.chomp.gsub("\n", "\n ")
end
end
|