Module: Micron::TestCase::RedirLogging

Defined in:
lib/micron/test_case/redir_logging.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(receiver) ⇒ Object



39
40
41
# File 'lib/micron/test_case/redir_logging.rb', line 39

def self.included(receiver)
  receiver.extend(ClassMethods)
end

Instance Method Details

#after_teardownObject

Restore appenders



29
30
31
32
33
34
35
36
37
# File 'lib/micron/test_case/redir_logging.rb', line 29

def after_teardown
  super
  logger = self.class.redir_logger
  return if logger.nil?
  logger.clear_appenders
  logger.add_appenders(@_old_log_appenders)
  logger.additive = @_old_log_additive
  logger.level    = @_old_log_level
end

#before_setupObject

Send logging to stdout for duration of test



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/micron/test_case/redir_logging.rb', line 9

def before_setup
  super
  logger = self.class.redir_logger
  return if logger.nil?

  @_old_log_appenders = logger.appenders
  @_old_log_additive  = logger.additive
  @_old_log_level     = logger.level

  logger.clear_appenders
  logger.additive = false
  logger.level    = :debug

  # add original appenders which do not point to stdout, and our custom
  # $stdout appender
  logger.add_appenders(@_old_log_appenders.reject{ |a| a.kind_of? Logging::Appenders::Stdout })
  logger.add_appenders("stdout_test")
end