class SyslogTls::Header

All headers by specification wrapped in single object

Constants

FACILITIES
SEVERITIES

Attributes

app_name[RW]
facility[RW]
hostname[RW]
msgid[RW]
procid[RW]
severity[RW]
timestamp[RW]
version[RW]

Public Class Methods

new() click to toggle source
# File lib/syslog_tls/protocol.rb, line 36
def initialize
  @timestamp = Time.now
  @severity = 'INFO'
  @facility = 'LOCAL0'
  @version = 1
  @hostname = NIL_VALUE
  @app_name = NIL_VALUE
  @procid = NIL_VALUE
  @msgid = NIL_VALUE
end

Public Instance Methods

assemble() click to toggle source
# File lib/syslog_tls/protocol.rb, line 68
def assemble
  [
    "<#{pri}>#{version}",
    timestamp.to_datetime.rfc3339,
    hostname,
    app_name,
    procid,
    msgid
  ].join(' ')
end
facility=(val) click to toggle source
# File lib/syslog_tls/protocol.rb, line 52
def facility=(val)
  raise ArgumentError.new("Invalid facility value: #{val.inspect}") unless FACILITIES.key?(val)
  @facility = val
end
pri() click to toggle source

Priority value is calculated by first multiplying the Facility number by 8 and then adding the numerical value of the Severity.

# File lib/syslog_tls/protocol.rb, line 64
def pri
  FACILITIES[facility] * 8 + SEVERITIES[severity]
end
severity=(val) click to toggle source
# File lib/syslog_tls/protocol.rb, line 57
def severity=(val)
  raise ArgumentError.new("Invalid severity value: #{val.inspect}") unless SEVERITIES.key?(val)
  @severity = val
end
timestamp=(val) click to toggle source
# File lib/syslog_tls/protocol.rb, line 47
def timestamp=(val)
  raise ArgumentError.new("Must provide Time object value instead: #{val.inspect}") unless val.is_a?(Time)
  @timestamp = val
end
to_s() click to toggle source
# File lib/syslog_tls/protocol.rb, line 79
def to_s
  assemble
end