Module: OMF::Base::Loggable
Constant Summary collapse
- @@logger =
nil- @@rootLoggerName =
nil
Class Method Summary collapse
-
.init_log(appName, opts = {}) ⇒ Object
Initialize the logger.
- .logger(category) ⇒ Object
- .set_environment(root_logger_name) ⇒ Object
Instance Method Summary collapse
- #_logger(category = nil) ⇒ Object
- #debug(*message) ⇒ Object
- #error(*message) ⇒ Object
- #fatal(*message) ⇒ Object
- #info(*message) ⇒ Object
- #warn(*message) ⇒ Object
Class Method Details
.init_log(appName, opts = {}) ⇒ Object
Initialize the logger. The ‘appName’ is used to build some of the defaults. The ‘environment’ is the name of the root logger. ‘AppInstance’ and ‘appName’ are available as parameters in the log configuration file. The ‘opts’ hash can optionally contain information on how to find a configuration file. The following keys are used:
* :environment - Name used for root logger name ['development']
* :env - Name of environment variable holding dominant config file
* :fileName - Name of config file [#{appName}_log.xml]
* :searchPath - Array of directories to look for 'fileName'
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/omf_base/lobject.rb', line 41 def self.init_log(appName, opts = {}) #@@logger = ::Log4r::Logger.new(appName) set_environment(opts[:environment] || 'development') @@logger = ::Log4r::Logger.new(@@rootLoggerName) configFile = opts[:configFile] if (configFile == nil && logEnv = opts[:env]) configFile = ENV[logEnv] end if (configFile != nil) # Make sure log exists ... configFile = File.exists?(configFile) ? configFile : nil else name = opts[:fileName] || "#{appName}_log4r.yaml" if ((searchPath = opts[:searchPath]) != nil) searchPath = searchPath.is_a?(Enumerable) ? searchPath : [searchPath] logDir = searchPath.find {|dir| File.exists?("#{dir}/#{name}") } #puts "logDir '#{logDir}:#{logDir.class}'" configFile = "#{logDir}/#{name}" if logDir != nil end end #puts "config file '#{configFile}'" if !(configFile || '').empty? ::Log4r::Configurator['appName'] = appName begin ycfg = YAML.load_file(configFile) ::Log4r::YamlConfigurator.decode_yaml(ycfg['log4r']) #::Log4r::Configurator.load_xml_file(configFile) # rescue ::Log4r::ConfigError => ex # @@logger.outputters = ::Log4r::Outputter.stdout # # TODO: FIX ME # puts("ERROR: Log::Config: #{ex}") end else # set default behavior ::Log4r::Logger.global.level = ::Log4r::ALL formatter = ::Log4r::PatternFormatter.new(:pattern => "%l %c: %m") ::Log4r::StdoutOutputter.new('console', :formatter => formatter) @@logger.add 'console' #@@logger.outputters = ::Log4r::StdoutOutputter.new('console') #Outputter.stdout ##@@logger.outputters = ::Log4r::Outputter.stdout end end |
.logger(category) ⇒ Object
97 98 99 100 101 102 103 104 105 106 |
# File 'lib/omf_base/lobject.rb', line 97 def self.logger(category) raise "Logger not initialized" unless @@logger name = "#{@@rootLoggerName}::#{category}" logger = Log4r::Logger[name] if logger == nil logger = Log4r::Logger.new(name) end return logger end |
.set_environment(root_logger_name) ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/omf_base/lobject.rb', line 88 def self.set_environment(root_logger_name) if root_logger_name.nil? || root_logger_name.empty? # TODO: FIX ME puts("ERROR: LObject: Ignoring empty root logger") return end @@rootLoggerName = root_logger_name end |
Instance Method Details
#_logger(category = nil) ⇒ Object
133 134 135 136 137 138 139 140 141 142 |
# File 'lib/omf_base/lobject.rb', line 133 def _logger(category = nil) unless @logger #&& category.nil? cat = self.is_a?(Class) ? self.to_s + 'Class' : self.class.to_s if category cat = "#{cat}-#{category}" end @logger = OMF::Base::Loggable.logger(cat) end return @logger end |
#debug(*message) ⇒ Object
108 109 110 111 |
# File 'lib/omf_base/lobject.rb', line 108 def debug(*) logger = _logger() logger.debug(.join('')) if logger.debug? end |
#error(*message) ⇒ Object
123 124 125 126 |
# File 'lib/omf_base/lobject.rb', line 123 def error(*) logger = _logger() logger.error(.join('')) if logger.error? end |
#fatal(*message) ⇒ Object
128 129 130 131 |
# File 'lib/omf_base/lobject.rb', line 128 def fatal(*) logger = _logger() logger.fatal(.join('')) if logger.fatal? end |
#info(*message) ⇒ Object
113 114 115 116 |
# File 'lib/omf_base/lobject.rb', line 113 def info(*) logger = _logger() logger.info(.join('')) if logger.info? end |
#warn(*message) ⇒ Object
118 119 120 121 |
# File 'lib/omf_base/lobject.rb', line 118 def warn(*) logger = _logger() logger.warn(.join('')) if logger.warn? end |