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 =
{ PrefabProto::LogLevel::NOT_SET_LOG_LEVEL => ::Logger::DEBUG, PrefabProto::LogLevel::TRACE => ::Logger::DEBUG, PrefabProto::LogLevel::DEBUG => ::Logger::DEBUG, PrefabProto::LogLevel::INFO => ::Logger::INFO, PrefabProto::LogLevel::WARN => ::Logger::WARN, PrefabProto::LogLevel::ERROR => ::Logger::ERROR, PrefabProto::LogLevel::FATAL => ::Logger::FATAL }.freeze
Instance Method Summary collapse
- #add_internal(severity, message, progname, loc, &block) ⇒ Object
- #config_client=(config_client) ⇒ 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_aggregator: 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, progname, severity, &block) ⇒ Object
- #silence ⇒ Object
- #warn(progname = nil, &block) ⇒ Object
- #warn? ⇒ Boolean
Constructor Details
#initialize(logdev, log_path_aggregator: nil, formatter: nil, prefix: nil) ⇒ LoggerClient
Returns a new instance of LoggerClient.
20 21 22 23 24 25 26 27 28 |
# File 'lib/prefab/logger_client.rb', line 20 def initialize(logdev, log_path_aggregator: 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_aggregator = log_path_aggregator end |
Instance Method Details
#add_internal(severity, message, progname, loc, &block) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/prefab/logger_client.rb', line 30 def add_internal(severity, , progname, loc, &block) path_loc = get_loc_path(loc) path = @prefix + path_loc @log_path_aggregator&.push(path_loc, severity) log(, path, progname, severity, &block) end |
#config_client=(config_client) ⇒ Object
115 116 117 |
# File 'lib/prefab/logger_client.rb', line 115 def config_client=(config_client) @config_client = config_client end |
#debug(progname = nil, &block) ⇒ Object
71 72 73 |
# File 'lib/prefab/logger_client.rb', line 71 def debug(progname = nil, &block) add_internal(DEBUG, nil, progname, caller_locations(1, 1)[0], &block) end |
#debug? ⇒ Boolean
91 92 93 |
# File 'lib/prefab/logger_client.rb', line 91 def debug? true end |
#error(progname = nil, &block) ⇒ Object
83 84 85 |
# File 'lib/prefab/logger_client.rb', line 83 def error(progname = nil, &block) add_internal(ERROR, nil, progname, caller_locations(1, 1)[0], &block) end |
#error? ⇒ Boolean
103 104 105 |
# File 'lib/prefab/logger_client.rb', line 103 def error? true end |
#fatal(progname = nil, &block) ⇒ Object
87 88 89 |
# File 'lib/prefab/logger_client.rb', line 87 def fatal(progname = nil, &block) add_internal(FATAL, nil, progname, caller_locations(1, 1)[0], &block) end |
#fatal? ⇒ Boolean
107 108 109 |
# File 'lib/prefab/logger_client.rb', line 107 def fatal? true end |
#info(progname = nil, &block) ⇒ Object
75 76 77 |
# File 'lib/prefab/logger_client.rb', line 75 def info(progname = nil, &block) add_internal(INFO, nil, progname, caller_locations(1, 1)[0], &block) end |
#info? ⇒ Boolean
95 96 97 |
# File 'lib/prefab/logger_client.rb', line 95 def info? true end |
#level ⇒ Object
111 112 113 |
# File 'lib/prefab/logger_client.rb', line 111 def level DEBUG end |
#local_log_id ⇒ Object
119 120 121 |
# File 'lib/prefab/logger_client.rb', line 119 def local_log_id Thread.current.__id__ end |
#log(message, path, progname, severity) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/prefab/logger_client.rb', line 49 def log(, path, progname, severity) severity ||= ::Logger::UNKNOWN return true if @logdev.nil? || severity < level_of(path) || @silences[local_log_id] progname = @progname if progname.nil? if .nil? if block_given? = yield else = progname progname = @progname end end @logdev.write( (format_severity(severity), Time.now, progname, , path) ) true end |
#log_internal(message, path, progname, severity, &block) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/prefab/logger_client.rb', line 39 def log_internal(, path, progname, severity, &block) path = if path "#{INTERNAL_PREFIX}.#{path}" else INTERNAL_PREFIX end log(, path, progname, severity, &block) end |
#silence ⇒ Object
123 124 125 126 127 128 |
# File 'lib/prefab/logger_client.rb', line 123 def silence @silences[local_log_id] = true yield self ensure @silences[local_log_id] = false end |
#warn(progname = nil, &block) ⇒ Object
79 80 81 |
# File 'lib/prefab/logger_client.rb', line 79 def warn(progname = nil, &block) add_internal(WARN, nil, progname, caller_locations(1, 1)[0], &block) end |
#warn? ⇒ Boolean
99 100 101 |
# File 'lib/prefab/logger_client.rb', line 99 def warn? true end |