Class: SumologicCloudSyslog::Logger
- Inherits:
-
Object
- Object
- SumologicCloudSyslog::Logger
- Defined in:
- lib/sumologic_cloud_syslog/logger.rb
Instance Attribute Summary collapse
-
#token ⇒ Object
readonly
Returns the value of attribute token.
-
#transport ⇒ Object
Returns the value of attribute transport.
Instance Method Summary collapse
-
#app_name(val) ⇒ Object
Sets default app_name for each message.
- #close ⇒ Object
-
#closed? ⇒ Boolean
Check if IO is closed.
-
#facility(val) ⇒ Object
Sets default facility for each message.
-
#hostname(val) ⇒ Object
Sets default hostname for each message.
-
#initialize(transport, token) ⇒ Logger
constructor
Logger accepts transport which should implement IO methods close, closed? and write.
-
#log(severity, message, time: nil) {|m.header| ... } ⇒ Object
Send log message with severity to Sumologic.
-
#procid(val) ⇒ Object
Sets default procid for message.
Constructor Details
#initialize(transport, token) ⇒ Logger
Logger accepts transport which should implement IO methods close, closed? and write
25 26 27 28 29 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 25 def initialize(transport, token) @transport = transport @default_header = SumologicCloudSyslog::Header.new @default_structured_data = SumologicCloudSyslog::StructuredData.new(token) end |
Instance Attribute Details
#token ⇒ Object (readonly)
Returns the value of attribute token.
20 21 22 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 20 def token @token end |
#transport ⇒ Object
Returns the value of attribute transport.
21 22 23 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 21 def transport @transport end |
Instance Method Details
#app_name(val) ⇒ Object
Sets default app_name for each message
42 43 44 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 42 def app_name(val) @default_header.app_name = val end |
#close ⇒ Object
56 57 58 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 56 def close transport.close end |
#closed? ⇒ Boolean
Check if IO is closed
52 53 54 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 52 def closed? transport && transport.closed? end |
#facility(val) ⇒ Object
Sets default facility for each message
32 33 34 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 32 def facility(val) @default_header.facility = val end |
#hostname(val) ⇒ Object
Sets default hostname for each message
37 38 39 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 37 def hostname(val) @default_header.hostname = val end |
#log(severity, message, time: nil) {|m.header| ... } ⇒ Object
Send log message with severity to Sumologic
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 61 def log(severity, , time: nil) time ||= Time.now m = SumologicCloudSyslog::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. = time yield m.header if block_given? m.msg = transport.write(m.to_s) end |
#procid(val) ⇒ Object
Sets default procid for message
47 48 49 |
# File 'lib/sumologic_cloud_syslog/logger.rb', line 47 def procid(val) @default_header.procid = val end |