Module: Elasticsearch::Embedded::LoggerConfiguration

Included in:
Elasticsearch::Embedded
Defined in:
lib/elasticsearch/embedded/logger_configuration.rb

Overview

Contains stuff related to logging configuration

Instance Method Summary collapse

Instance Method Details

#configure_logging!Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/elasticsearch/embedded/logger_configuration.rb', line 30

def configure_logging!
  # Configure logger levels for hierarchy
  Logging.logger[self].level = :info
  # Register a color scheme named bright
  Logging.color_scheme 'bright', {
      levels: {
          info: :green,
          warn: :yellow,
          error: :red,
          fatal: [:white, :on_red]
      },
      date: :blue,
      logger: :cyan,
      message: :white,
  }
  pattern_options = {pattern: '[%d] %-5l %c: %m\n'}
  # Apply colors only if in tty
  pattern_options[:color_scheme] = 'bright' if STDOUT.tty?
  # Create a named appender to be used only for current module
  Logging.logger[self].appenders = Logging.appenders.stdout(self.to_s, layout: Logging.layouts.pattern(pattern_options))
end

#mute!Object

Clear all logging appenders for ::Elasticsearch::Embedded log hierarchy



25
26
27
# File 'lib/elasticsearch/embedded/logger_configuration.rb', line 25

def mute!
  Logging.logger[self].clear_appenders
end

#verbosity(level) ⇒ Object

Configure logger verbosity for ::Elasticsearch::Embedded log hierarchy



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/elasticsearch/embedded/logger_configuration.rb', line 11

def verbosity(level)
  level = level.to_s.downcase # normalize string to downcase
  case
    when level =~ /\A\d\Z/
      Logging.logger[self].level = level.to_i
    when Logging::LEVELS.include?(level)
      Logging.logger[self].level = Logging::LEVELS[level]
    else
      Logging.logger[self].level = :info
  end

end