Class: Prefab::LoggerClient

Inherits:
Logger
  • Object
show all
Defined in:
lib/prefab/logger_client.rb

Constant Summary collapse

SEP =
"."
BASE_KEY =
"log-level"
UNKNOWN =
"unknown"
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

Constructor Details

#initialize(logdev, formatter: nil) ⇒ LoggerClient

Returns a new instance of LoggerClient.



19
20
21
22
23
24
# File 'lib/prefab/logger_client.rb', line 19

def initialize(logdev, formatter: nil)
  super(logdev)
  self.formatter = formatter
  @config_client = BootstrappingConfigClient.new
  @silences = Concurrent::Map.new(:initial_capacity => 2)
end

Instance Method Details

#add(severity, message = nil, progname = nil) ⇒ Object



26
27
28
29
# File 'lib/prefab/logger_client.rb', line 26

def add(severity, message = nil, progname = nil)
  loc = caller_locations(1, 1)[0]
  add_internal(severity, message, progname, loc)
end

#add_internal(severity, message = nil, progname = nil, loc, &block) ⇒ Object



31
32
33
34
# File 'lib/prefab/logger_client.rb', line 31

def add_internal(severity, message = nil, progname = nil, loc, &block)
  path = get_loc_path(loc)
  log_internal(message, path, progname, severity, &block)
end

#debug(progname = nil, &block) ⇒ Object



59
60
61
# File 'lib/prefab/logger_client.rb', line 59

def debug(progname = nil, &block)
  add_internal(DEBUG, nil, progname, caller_locations(1, 1)[0], &block)
end

#debug?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/prefab/logger_client.rb', line 79

def debug?
  true;
end

#error(progname = nil, &block) ⇒ Object



71
72
73
# File 'lib/prefab/logger_client.rb', line 71

def error(progname = nil, &block)
  add_internal(ERROR, nil, progname, caller_locations(1, 1)[0], &block)
end

#error?Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/prefab/logger_client.rb', line 91

def error?
  true;
end

#fatal(progname = nil, &block) ⇒ Object



75
76
77
# File 'lib/prefab/logger_client.rb', line 75

def fatal(progname = nil, &block)
  add_internal(FATAL, nil, progname, caller_locations(1, 1)[0], &block)
end

#fatal?Boolean

Returns:

  • (Boolean)


95
96
97
# File 'lib/prefab/logger_client.rb', line 95

def fatal?
  true;
end

#info(progname = nil, &block) ⇒ Object



63
64
65
# File 'lib/prefab/logger_client.rb', line 63

def info(progname = nil, &block)
  add_internal(INFO, nil, progname, caller_locations(1, 1)[0], &block)
end

#info?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'lib/prefab/logger_client.rb', line 83

def info?
  true;
end

#levelObject



99
100
101
# File 'lib/prefab/logger_client.rb', line 99

def level
  DEBUG
end

#local_log_idObject



107
108
109
# File 'lib/prefab/logger_client.rb', line 107

def local_log_id
  Thread.current.__id__
end

#log_internal(message, path, progname, severity, &block) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/prefab/logger_client.rb', line 36

def log_internal(message, path, progname, severity, &block)
  level = level_of(path)
  progname = "#{path}: #{progname}"
  severity ||= UNKNOWN
  if @logdev.nil? || severity < level || @silences[local_log_id]
    return true
  end
  if progname.nil?
    progname = @progname
  end
  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end
  @logdev.write(
    format_message(format_severity(severity), Time.now, progname, message))
  true
end

#set_config_client(config_client) ⇒ Object



103
104
105
# File 'lib/prefab/logger_client.rb', line 103

def set_config_client(config_client)
  @config_client = config_client
end

#silenceObject



111
112
113
114
115
116
# File 'lib/prefab/logger_client.rb', line 111

def silence
  @silences[local_log_id] = true
  yield self
ensure
  @silences[local_log_id] = false
end

#warn(progname = nil, &block) ⇒ Object



67
68
69
# File 'lib/prefab/logger_client.rb', line 67

def warn(progname = nil, &block)
  add_internal(WARN, nil, progname, caller_locations(1, 1)[0], &block)
end

#warn?Boolean

Returns:

  • (Boolean)


87
88
89
# File 'lib/prefab/logger_client.rb', line 87

def warn?
  true;
end