Class: Prefab::LoggerClient

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

Constant Summary collapse

SEP =
".".freeze
BASE =
"log_level".freeze

Instance Method Summary collapse

Constructor Details

#initialize(logdev, formatter: nil) ⇒ LoggerClient

Returns a new instance of LoggerClient.



7
8
9
10
11
12
# File 'lib/prefab/logger_client.rb', line 7

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



14
15
16
17
# File 'lib/prefab/logger_client.rb', line 14

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



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

def add_internal(severity, message = nil, progname = nil, loc, &block)
  path = get_path(loc.absolute_path, loc.base_label)
  log_internal(message, path, progname, severity, &block)
end

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



47
48
49
# File 'lib/prefab/logger_client.rb', line 47

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

#debug?Boolean

Returns:

  • (Boolean)


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

def debug?
  true;
end

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



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

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

#error?Boolean

Returns:

  • (Boolean)


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

def error?
  true;
end

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



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

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

#fatal?Boolean

Returns:

  • (Boolean)


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

def fatal?
  true;
end

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



51
52
53
# File 'lib/prefab/logger_client.rb', line 51

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

#info?Boolean

Returns:

  • (Boolean)


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

def info?
  true;
end

#levelObject



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

def level
  DEBUG
end

#local_log_idObject



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

def local_log_id
  Thread.current.__id__
end

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



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/prefab/logger_client.rb', line 24

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



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

def set_config_client(config_client)
  @config_client = config_client
end

#silenceObject



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

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

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



55
56
57
# File 'lib/prefab/logger_client.rb', line 55

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

#warn?Boolean

Returns:

  • (Boolean)


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

def warn?
  true;
end