Module: Log::Write

Included in:
Log
Defined in:
lib/log/write.rb

Instance Method Summary collapse

Instance Method Details

#write(message, level, tags) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/log/write.rb', line 3

def write(message, level, tags)
  message = message.to_s

  if message.length == 0
    message = '(empty log message)'
  end

  line = Log::Format.line(message, clock.iso8601(precision: 5), subject, level, device, &levels[level] &.message_formatter)

  device.write "#{line}#{$INPUT_RECORD_SEPARATOR}"

  telemetry.record :logged, Log::Telemetry::Data.new(subject, message, level, tags, line)
end