Class: SumologicCloudSyslog::Header

Inherits:
Object
  • Object
show all
Defined in:
lib/sumologic_cloud_syslog/protocol.rb

Overview

All headers by specification wrapped in single object

Constant Summary collapse

FACILITIES =
{}
SEVERITIES =
{}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHeader

Returns a new instance of Header.



35
36
37
38
39
40
41
42
43
44
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 35

def initialize
  @timestamp = Time.now
  @severity = 'INFO'
  @facility = 'LOCAL0'
  @version = 1
  @hostname = SumologicCloudSyslog::NIL_VALUE
  @app_name = SumologicCloudSyslog::NIL_VALUE
  @procid = SumologicCloudSyslog::NIL_VALUE
  @msgid = SumologicCloudSyslog::NIL_VALUE
end

Instance Attribute Details

#app_nameObject

Returns the value of attribute app_name.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def app_name
  @app_name
end

#facilityObject

Returns the value of attribute facility.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def facility
  @facility
end

#hostnameObject

Returns the value of attribute hostname.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def hostname
  @hostname
end

#msgidObject

Returns the value of attribute msgid.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def msgid
  @msgid
end

#procidObject

Returns the value of attribute procid.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def procid
  @procid
end

#severityObject

Returns the value of attribute severity.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def severity
  @severity
end

#timestampObject

Returns the value of attribute timestamp.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def timestamp
  @timestamp
end

#versionObject

Returns the value of attribute version.



27
28
29
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 27

def version
  @version
end

Instance Method Details

#assembleObject



67
68
69
70
71
72
73
74
75
76
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 67

def assemble
  [
    "<#{pri}>#{version}",
    timestamp.to_datetime.rfc3339,
    hostname,
    app_name,
    procid,
    msgid
  ].join(' ')
end

#priObject

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



63
64
65
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 63

def pri
  FACILITIES[facility] * 8 + SEVERITIES[severity]
end

#to_sObject



78
79
80
# File 'lib/sumologic_cloud_syslog/protocol.rb', line 78

def to_s
  assemble
end