Sha256: 1fa826f39ff039d5c5f3967260228462214651bc5dceb8c7adc9c0554dbf0792

Contents?: true

Size: 1.21 KB

Versions: 14

Compression:

Stored size: 1.21 KB

Contents

require 'log4r'
require 'log4r/configurator'

module Log
	@loggers = Hash.new do |hash, klass|
		# Such complex initialization because I don't know how it exactly work.
		# For example: Log.new for WGUI::SomeClass will works, but Log.new for WGUI will not.
		logger = begin
			Log4r::Logger.get(klass.name) 				
		rescue 
			Log4r::Logger.new(klass.name) rescue Log4r::Logger.get("Default")
		end
		hash[klass] = logger
	end
	
	module ClassMethods
		def log		
			Log.loggers[(self.class == Class or self.class == Module) ? self : self.class]
		end						
	end
	
	def log
		Log.loggers[(self.class == Class or self.class == Module) ? self : self.class]
	end				
	
	class << self
		attr_reader :loggers
		
		def info *s
			log.info *s
		end
		
		def error *s
			log.error *s
		end
		
		def warn *s
			log.warn *s
		end
		
		def log
			Log.loggers[Log]
		end				
	end
	#	configure %{\
	#<log4r_config>
	#	<pre_config>
	#		<global level="ALL"/>
	#	</pre_config>
	#
	#	<outputter type="StderrOutputter" name="default" level="ALL"/>
	#	<logger name="Default" level="ALL" outputters="default"/>
	#</log4r_config>}
end

module Log
	config = Dir.getwd + "/config/log.xml" 
	Log4r::Configurator.load_xml_string(File.read(config)) if File.exist? config
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
ruby-ext-0.2.16 old/lib/RubyExt/Log.rb
ruby-ext-0.2.15 old/lib/RubyExt/Log.rb
ruby-ext-0.2.13 old/lib/RubyExt/Log.rb
ruby-ext-0.2.12 old/lib/RubyExt/Log.rb
ruby-ext-0.2.11 old/lib/RubyExt/Log.rb
ruby-ext-0.2.10 old/lib/RubyExt/Log.rb
ruby-ext-0.2.9 old/lib/RubyExt/Log.rb
ruby-ext-0.2.8 old/lib/RubyExt/Log.rb
ruby-ext-0.2.7 old/lib/RubyExt/Log.rb
ruby-ext-0.2.6 old/lib/RubyExt/Log.rb
ruby-ext-0.2.5 old/lib/RubyExt/Log.rb
ruby-ext-0.2.4 old/lib/RubyExt/Log.rb
ruby-ext-0.2.3 old/lib/RubyExt/Log.rb
RubyExt-0.1.2 lib/RubyExt/Log.rb