Class: Module

Inherits:
Object
  • Object
show all
Defined in:
lib/snapsync.rb

Instance Method Summary collapse

Instance Method Details

#install_logging(forward: true, &block) ⇒ Object



67
68
69
70
71
72
73
74
# File 'lib/snapsync.rb', line 67

def install_logging(forward: true, &block)
    extend Logging::Installer
    if forward
        singleton_class.class_eval do
            install_logging_forwarder
        end
    end
end

#install_logging_forwarderObject



59
60
61
62
63
64
65
# File 'lib/snapsync.rb', line 59

def install_logging_forwarder
    ::Logging::LEVELS.each do |name, _|
        define_method name do |*args, &block|
            logger.send(name, *args, &block)
        end
    end
end

#install_root_logging(level: 'INFO', forward: true, &block) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/snapsync.rb', line 43

def install_root_logging(level: 'INFO', forward: true, &block)
    extend Logging::Installer
    if block_given?
        yield(logger)
    else
        logger.add_appenders Logging.appenders.stdout
    end

    if forward
        singleton_class.class_eval do
            install_logging_forwarder
        end
    end
    logger.level = level
end