class MojoLogger::Configurator

Constants

ENV_MAPPING

Attributes

application_name[RW]
env[R]
properties_file[R]

Public Class Methods

new() click to toggle source
# File lib/mojo_logger/configurator.rb, line 19
def initialize()
  @default_appender       = MojoLogger::Appender.new("MojoLogger")
  @default_appender.level = "DEBUG"
  @use_default_appender   = true
  @appenders              = []
  @application_name       = "Mojo"
  @adapter                = DefaultAdapter.new
  @env                    = environment
end

Public Instance Methods

adapter() click to toggle source
# File lib/mojo_logger/configurator.rb, line 69
def adapter
  @adapter
end
adapter=(adapter) click to toggle source
# File lib/mojo_logger/configurator.rb, line 65
def adapter=(adapter)
  @adapter = adapter
end
add_appender(appender) click to toggle source
# File lib/mojo_logger/configurator.rb, line 52
def add_appender(appender)
  raise "InvalidAppender" unless appender.is_a?(MojoLogger::Appender)
  @appenders << appender
end
custom_line(line) click to toggle source
# File lib/mojo_logger/configurator.rb, line 47
def custom_line(line)
  @custom_lines ||= []
  @custom_lines << line
end
default_log_level() click to toggle source
# File lib/mojo_logger/configurator.rb, line 29
def default_log_level
  @default_appender.level
end
default_log_level=(lvl) click to toggle source
# File lib/mojo_logger/configurator.rb, line 33
def default_log_level=(lvl)
  @default_appender.level = lvl
end
generate_properties_string() click to toggle source
# File lib/mojo_logger/configurator.rb, line 57
def generate_properties_string
  properties = "#{generate_root_logger_line}\n"
  properties << "#{generate_custom_lines}\n"
  properties << "#{generate_appender_lines}\n"
  properties
end
log_file=(file) click to toggle source
# File lib/mojo_logger/configurator.rb, line 37
def log_file=(file)
  @default_appender.file = file
end
properties_file=(file) click to toggle source
# File lib/mojo_logger/configurator.rb, line 41
def properties_file=(file)
  raise "FileNotFound" unless File.exist?(file)
  @type = :file
  @properties_file = File.expand_path(file)
end

Private Instance Methods

environment() click to toggle source
# File lib/mojo_logger/configurator.rb, line 97
def environment
  env_var = ENV['RAILS_ENV'] || ENV['RACK_ENV']
  ENV_MAPPING.fetch(env_var, env_var)
end
generate_appender_lines() click to toggle source
# File lib/mojo_logger/configurator.rb, line 89
def generate_appender_lines
  lines = ''
  lines << @default_appender.generate_properties_string if @use_default_appender
  lines << "#{@appenders.map { |a| a.generate_properties_string }.join("\n") }"

  lines
end
generate_custom_lines() click to toggle source
# File lib/mojo_logger/configurator.rb, line 85
def generate_custom_lines
  "#{@custom_lines.join("\n") if @custom_lines}"
end
generate_root_logger_line() click to toggle source
# File lib/mojo_logger/configurator.rb, line 75
def generate_root_logger_line
  "log4j.rootLogger=#{default_log_level}#{list_appenders}"
end
list_appenders() click to toggle source
# File lib/mojo_logger/configurator.rb, line 79
def list_appenders
  names = @appenders.map { |a| a.name }
  names.unshift(@default_appender.name) if @use_default_appender
  ", #{names.join(',')}"
end