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



56
57
58
# File 'lib/micron/test_case/redir_logging.rb', line 56

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

Instance Method Details

#after_teardownObject

Restore appenders



46
47
48
49
50
51
52
53
54
# File 'lib/micron/test_case/redir_logging.rb', line 46

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



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/micron/test_case/redir_logging.rb', line 26

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