Class: Prefab::LoggerClient
- Inherits:
-
Logger
- Object
- Logger
- Prefab::LoggerClient
- Defined in:
- lib/prefab/logger_client.rb
Constant Summary collapse
- SEP =
'.'- BASE_KEY =
'log-level'- UNKNOWN_PATH =
'unknown.'- INTERNAL_PREFIX =
'cloud.prefab.client'- LOG_LEVEL_LOOKUPS =
{ Prefab::LogLevel::NOT_SET_LOG_LEVEL => ::Logger::DEBUG, Prefab::LogLevel::TRACE => ::Logger::DEBUG, Prefab::LogLevel::DEBUG => ::Logger::DEBUG, Prefab::LogLevel::INFO => ::Logger::INFO, Prefab::LogLevel::WARN => ::Logger::WARN, Prefab::LogLevel::ERROR => ::Logger::ERROR, Prefab::LogLevel::FATAL => ::Logger::FATAL }
Instance Method Summary collapse
- #add(severity, message = nil, progname = nil, loc, &block) ⇒ Object
- #debug(progname = nil, &block) ⇒ Object
- #debug? ⇒ Boolean
- #error(progname = nil, &block) ⇒ Object
- #error? ⇒ Boolean
- #fatal(progname = nil, &block) ⇒ Object
- #fatal? ⇒ Boolean
- #info(progname = nil, &block) ⇒ Object
- #info? ⇒ Boolean
-
#initialize(logdev, log_path_collector: nil, formatter: nil, prefix: nil) ⇒ LoggerClient
constructor
A new instance of LoggerClient.
- #level ⇒ Object
- #local_log_id ⇒ Object
- #log(message, path, progname, severity) ⇒ Object
- #log_internal(message, path = nil, progname, severity, &block) ⇒ Object
- #set_config_client(config_client) ⇒ Object
- #silence ⇒ Object
- #warn(progname = nil, &block) ⇒ Object
- #warn? ⇒ Boolean
Constructor Details
#initialize(logdev, log_path_collector: nil, formatter: nil, prefix: nil) ⇒ LoggerClient
Returns a new instance of LoggerClient.
22 23 24 25 26 27 28 29 30 |
# File 'lib/prefab/logger_client.rb', line 22 def initialize(logdev, log_path_collector: nil, formatter: nil, prefix: nil) super(logdev) self.formatter = formatter @config_client = BootstrappingConfigClient.new @silences = Concurrent::Map.new(initial_capacity: 2) @prefix = "#{prefix}#{prefix && '.'}" @log_path_collector = log_path_collector end |
Instance Method Details
#add(severity, message = nil, progname = nil, loc, &block) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/prefab/logger_client.rb', line 32 def add(severity, = nil, progname = nil, loc, &block) path_loc = get_loc_path(loc) path = @prefix + path_loc @log_path_collector&.push(path_loc, severity) log(, path, progname, severity, &block) end |
#debug(progname = nil, &block) ⇒ Object
73 74 75 |
# File 'lib/prefab/logger_client.rb', line 73 def debug(progname = nil, &block) add(DEBUG, nil, progname, caller_locations(1, 1)[0], &block) end |
#debug? ⇒ Boolean
93 94 95 |
# File 'lib/prefab/logger_client.rb', line 93 def debug? true end |
#error(progname = nil, &block) ⇒ Object
85 86 87 |
# File 'lib/prefab/logger_client.rb', line 85 def error(progname = nil, &block) add(ERROR, nil, progname, caller_locations(1, 1)[0], &block) end |
#error? ⇒ Boolean
105 106 107 |
# File 'lib/prefab/logger_client.rb', line 105 def error? true end |
#fatal(progname = nil, &block) ⇒ Object
89 90 91 |
# File 'lib/prefab/logger_client.rb', line 89 def fatal(progname = nil, &block) add(FATAL, nil, progname, caller_locations(1, 1)[0], &block) end |
#fatal? ⇒ Boolean
109 110 111 |
# File 'lib/prefab/logger_client.rb', line 109 def fatal? true end |
#info(progname = nil, &block) ⇒ Object
77 78 79 |
# File 'lib/prefab/logger_client.rb', line 77 def info(progname = nil, &block) add(INFO, nil, progname, caller_locations(1, 1)[0], &block) end |
#info? ⇒ Boolean
97 98 99 |
# File 'lib/prefab/logger_client.rb', line 97 def info? true end |
#level ⇒ Object
113 114 115 |
# File 'lib/prefab/logger_client.rb', line 113 def level DEBUG end |
#local_log_id ⇒ Object
121 122 123 |
# File 'lib/prefab/logger_client.rb', line 121 def local_log_id Thread.current.__id__ end |
#log(message, path, progname, severity) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/prefab/logger_client.rb', line 51 def log(, path, progname, severity) severity ||= ::Logger::UNKNOWN return true if @logdev.nil? || severity < level_of(path) || @silences[local_log_id] progname = "#{path}: #{progname || @progname}" if .nil? if block_given? = yield else = progname progname = @progname end end @logdev.write( (format_severity(severity), Time.now, progname, ) ) true end |
#log_internal(message, path = nil, progname, severity, &block) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/prefab/logger_client.rb', line 41 def log_internal(, path = nil, progname, severity, &block) path = if path "#{INTERNAL_PREFIX}.#{path}" else INTERNAL_PREFIX end log(, path, progname, severity, &block) end |
#set_config_client(config_client) ⇒ Object
117 118 119 |
# File 'lib/prefab/logger_client.rb', line 117 def set_config_client(config_client) @config_client = config_client end |
#silence ⇒ Object
125 126 127 128 129 130 |
# File 'lib/prefab/logger_client.rb', line 125 def silence @silences[local_log_id] = true yield self ensure @silences[local_log_id] = false end |
#warn(progname = nil, &block) ⇒ Object
81 82 83 |
# File 'lib/prefab/logger_client.rb', line 81 def warn(progname = nil, &block) add(WARN, nil, progname, caller_locations(1, 1)[0], &block) end |
#warn? ⇒ Boolean
101 102 103 |
# File 'lib/prefab/logger_client.rb', line 101 def warn? true end |