class SyslogTls::Logger

Attributes

token[R]
transport[RW]

Public Class Methods

new(transport, token=nil) click to toggle source

Logger accepts transport which should implement IO methods close, closed? and write

# File lib/syslog_tls/logger.rb, line 27
def initialize(transport, token=nil)
  @transport = transport
  @default_header = SyslogTls::Header.new
  @default_structured_data = SyslogTls::StructuredData.new(token)
end

Public Instance Methods

app_name(val) click to toggle source

Sets default app_name for each message

# File lib/syslog_tls/logger.rb, line 44
def app_name(val)
  @default_header.app_name = val
end
close() click to toggle source
# File lib/syslog_tls/logger.rb, line 58
def close
  transport.close
end
closed?() click to toggle source

Check if IO is closed

# File lib/syslog_tls/logger.rb, line 54
def closed?
  transport && transport.closed?
end
facility(val) click to toggle source

Sets default facility for each message

# File lib/syslog_tls/logger.rb, line 34
def facility(val)
  @default_header.facility = val
end
hostname(val) click to toggle source

Sets default hostname for each message

# File lib/syslog_tls/logger.rb, line 39
def hostname(val)
  @default_header.hostname = val
end
log(severity, message, time: nil) { |header| ... } click to toggle source

Send log message with severity to syslog

# File lib/syslog_tls/logger.rb, line 63
def log(severity, message, time: nil)
  time ||= Time.now

  m = SyslogTls::Message.new

  # Include authentication header
  m.structured_data << @default_structured_data

  # Adjust header with current timestamp and severity
  m.header = @default_header.dup
  m.header.severity = severity
  m.header.timestamp = time

  yield m.header if block_given?

  m.msg = message

  transport.write(m.to_s)
end
procid(val) click to toggle source

Sets default procid for message

# File lib/syslog_tls/logger.rb, line 49
def procid(val)
  @default_header.procid = val
end