class MojoLogger::Appender
Constants
- ACCEPTABLE_LOG_LEVELS
Attributes
file[R]
level[R]
max_backup_index[RW]
max_file_size[RW]
name[R]
pattern[RW]
Public Class Methods
new(name, opts={})
click to toggle source
# File lib/mojo_logger/appender.rb, line 15 def initialize(name, opts={}) @name = name set_defaults(opts) end
Public Instance Methods
file=(file)
click to toggle source
# File lib/mojo_logger/appender.rb, line 26 def file=(file) @type = :file @file = file #File.expand_path(file) end
generate_properties_string()
click to toggle source
# File lib/mojo_logger/appender.rb, line 31 def generate_properties_string properties = generate_generic_properties properties << generate_file_properties if @file properties end
level=(lvl)
click to toggle source
# File lib/mojo_logger/appender.rb, line 20 def level=(lvl) l = lvl.to_s.upcase raise "InvalidLogLevel" unless valid_log_level?(l) @level = l end
Private Instance Methods
generate_file_properties()
click to toggle source
# File lib/mojo_logger/appender.rb, line 69 def generate_file_properties properties = "#{property_header}.file=#{@file}\n" properties << "#{property_header}.MaxFileSize=#{@max_file_size}\n" properties << "#{property_header}.MaxBackupIndex=#{@max_backup_index}\n" properties end
generate_generic_properties()
click to toggle source
# File lib/mojo_logger/appender.rb, line 61 def generate_generic_properties properties = "#{property_header}=#{log4j_type}\n" properties << "#{property_header}.layout=org.apache.log4j.PatternLayout\n" properties << "#{property_header}.layout.ConversionPattern=#{@pattern}\n" properties << "#{property_header}.Threshold=#{@level}\n" if @level properties end
log4j_type()
click to toggle source
# File lib/mojo_logger/appender.rb, line 76 def log4j_type if @type == :file "org.apache.log4j.RollingFileAppender" else "org.apache.log4j.ConsoleAppender" end end
property_header()
click to toggle source
# File lib/mojo_logger/appender.rb, line 57 def property_header "log4j.appender.#{@name}" end
set_defaults(opts={})
click to toggle source
# File lib/mojo_logger/appender.rb, line 47 def set_defaults(opts={}) @type = :console @max_file_size = opts[:max_file_size] || '10MB' @max_backup_index = opts[:max_backup_index] || '10' @pattern = opts[:pattern] || '%m %n' self.level=(opts[:level]) if opts[:level] self.file=(opts[:file]) if opts[:file] end
valid_log_level?(lvl)
click to toggle source
# File lib/mojo_logger/appender.rb, line 43 def valid_log_level?(lvl) ACCEPTABLE_LOG_LEVELS.include?(lvl) end