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



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

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



61
62
63
64
65
66
67
# File 'lib/snapsync.rb', line 61

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



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

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