Class: MyStuff::Logger::Writer
- Inherits:
-
Object
- Object
- MyStuff::Logger::Writer
- Defined in:
- lib/my_stuff/logger/writer.rb
Constant Summary collapse
- OVERRIDABLE_OPTIONS =
Configure the logger.
These can be set:
-
globally, via Writer.option = foo
-
per-class, via Writer.new(:option => foo)
-
per class, via Writer.new.option = foo
-
[ :backtrace_level, :device, :level, :root_path, ]
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Writer
constructor
A new instance of Writer.
- #raw_log(outer_caller, level, args) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Writer
Returns a new instance of Writer.
22 23 24 25 26 27 28 |
# File 'lib/my_stuff/logger/writer.rb', line 22 def initialize = {} OVERRIDABLE_OPTIONS.each do |opt| if .include? opt instance_variable_set "@#{opt}", [opt] end end end |
Instance Method Details
#raw_log(outer_caller, level, args) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/my_stuff/logger/writer.rb', line 30 def raw_log outer_caller, level, args unless LEVELS.include? level raw_log outer_caller, :fatal, "%s (unknown level '%s')" % [log_text(*args), level.inspect] end return if LEVELS[level] < LEVELS[self.level] = "%s %s @%s> %s\n" % [ level.to_s[0].upcase, # D|I|W|E|F Time.new.strftime("%s [%Y-%m-%d %H:%M:%S %z]"), pretty_caller(outer_caller.first), log_text(*args) ] if LEVELS[level] >= LEVELS[self.backtrace_level] # Full backtrace outer_caller.each do |x| += " from %s\n" % pretty_caller(x) end end device.write end |