class Leafy::Logger::Factory

Public Class Methods

bootstrap() click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 28
def self.bootstrap
  Java::IoDropwizardLogging::LoggingFactory.bootstrap
end
configurator() click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 32
def self.configurator
  objectMapper = Java::IoDropwizardJackson::Jackson.newObjectMapper
  validator = javax.validation.Validation.buildDefaultValidatorFactory.validator
  Java::IoDropwizardConfiguration::ConfigurationFactory.new( Java::IoDropwizardLogging::LoggingFactory.java_class, validator, objectMapper, "" )
end
get_logger( name ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 24
def self.get_logger( name )
  org.slf4j.LoggerFactory.get_logger name
end
new( factory = nil ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 47
def initialize( factory = nil )
  @factory = factory || Java::IoDropwizardLogging::LoggingFactory.new
end
new_from_options( options ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 38
def self.new_from_options( options )
  new( configurator.build( HashSourceProvider.new( options ), 'dummy') )
end
new_from_yaml( yamlfile ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 42
def self.new_from_yaml( yamlfile )
  raise "no such file #{yamlfile}" unless File.exists?( yamlfile )
  new( configurator.build( java.io.File.new( yamlfile ) ) )
end

Public Instance Methods

[]=( name, level ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 108
def []=( name, level )
  m = @factory.loggers.to_hash
  m[ name ] = level
  self.loggers = m
end
appenders( *args ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 87
def appenders( *args )
  if args.size > 0
    self.appenders = args
  else
    @factory.appenders.to_a
  end
end
appenders=(args) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 95
def appenders= args
  @factory.appenders = args
  reconfigure
end
configure( metrics, name ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 126
def configure( metrics, name )
  @metrics = metrics
  @name = name
  reconfigure
end
level(args = nil) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 67
def level args = nil
  if args
    self.level = args
  else
    @factory.level.to_s
  end
end
level=(level) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 81
def level= level
  l = level.to_s.upcase
  @factory.level = Java::ChQosLogbackClassic::Level.const_get( l )
  reconfigure
end
loggers( map = nil ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 100
def loggers( map = nil )
  if map
    self.loggers = map
  else
    Hash[ @factory.loggers.collect {|k,v| [k, v.to_s ] } ]
  end
end
loggers=(map) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 121
def loggers= map
  loggers_set( map )
  reconfigure
end
reconfigure() click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 132
def reconfigure
  @factory.configure( @metrics.metrics, @name ) if @metrics
end
reconfigure_from_options( options ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 51
def reconfigure_from_options( options )
  do_reconfigure( self.class.configurator.build( HashSourceProvider.new( options ), 'dummy') )
end
reconfigure_from_yaml( yamlfile ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 55
def reconfigure_from_yaml( yamlfile )
  raise "no such file #{yamlfile}" unless File.exists?( yamlfile )
  do_reconfigure( self.class.configurator.build( java.io.File.new( yamlfile ) ) )
end
stop() click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 136
def stop
  @factory.stop
end

Private Instance Methods

do_reconfigure( factory ) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 60
def do_reconfigure( factory )
  @factory.stop
  @factory = factory
  reconfigure
end
level_set(level) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 75
def level_set level
  l = level.to_s.upcase
  @factory.level = Java::ChQosLogbackClassic::Level.const_get( l )
end
loggers_set(map) click to toggle source
# File leafy-logger/lib/leafy/logger/factory.rb, line 114
def loggers_set map
  m = {}
  map.each { |k,v| m[k] = Java::ChQosLogbackClassic::Level.const_get( v.to_s.upcase ) }
  @factory.loggers = m
end