Class: Prefab::LoggerClient

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

Constant Summary collapse

SEP =
"."
BASE =
"log_level"
UNKNOWN =
"unknown"

Instance Method Summary collapse

Constructor Details

#initialize(logdev, formatter: nil) ⇒ LoggerClient

Returns a new instance of LoggerClient.



9
10
11
12
13
14
# File 'lib/prefab/logger_client.rb', line 9

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



16
17
18
19
# File 'lib/prefab/logger_client.rb', line 16

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



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

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



49
50
51
# File 'lib/prefab/logger_client.rb', line 49

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

#debug?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/prefab/logger_client.rb', line 69

def debug?
  true;
end

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



61
62
63
# File 'lib/prefab/logger_client.rb', line 61

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

#error?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/prefab/logger_client.rb', line 81

def error?
  true;
end

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



65
66
67
# File 'lib/prefab/logger_client.rb', line 65

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

#fatal?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/prefab/logger_client.rb', line 85

def fatal?
  true;
end

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



53
54
55
# File 'lib/prefab/logger_client.rb', line 53

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

#info?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/prefab/logger_client.rb', line 73

def info?
  true;
end

#levelObject



89
90
91
# File 'lib/prefab/logger_client.rb', line 89

def level
  DEBUG
end

#local_log_idObject



97
98
99
# File 'lib/prefab/logger_client.rb', line 97

def local_log_id
  Thread.current.__id__
end

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



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

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



93
94
95
# File 'lib/prefab/logger_client.rb', line 93

def set_config_client(config_client)
  @config_client = config_client
end

#silenceObject



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

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

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



57
58
59
# File 'lib/prefab/logger_client.rb', line 57

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

#warn?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/prefab/logger_client.rb', line 77

def warn?
  true;
end