syslogger5424 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/syslogger/formatter/rfc5424.rb +13 -7
- data/lib/syslogger/logger.rb +3 -3
- data/spec/syslogger/io_spec.rb +4 -0
- data/spec/syslogger/logger_spec.rb +17 -0
- metadata +27 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb72907be740aa357f6e75ec6b6991e411495f61
|
4
|
+
data.tar.gz: 3623fb6277835cf58248194a2f88ca35759d7f6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54ba31de3c9cfaeb31f3efdd263bec371a339c4706d1ba6583a970dcbc5f687fd06b87d0a5ac5dcfa498579a3044b1726b58ea8361d17728b370a53df0345529
|
7
|
+
data.tar.gz: c5c13c7e1d8fbcab763654ec95fb73d2ce63593ac4e35a1a82917dbeff3f803a3c11287c15388eb8594b41beb49090d425062e1f63f2fdf9446848b9ca7051b2
|
@@ -76,27 +76,33 @@ module SysLogger
|
|
76
76
|
# a block was received to generate the message.
|
77
77
|
message_id = progname.nil? ? msgid : format_field(progname, 32)
|
78
78
|
|
79
|
-
@counter = (@counter + 1) % 65536
|
80
|
-
|
81
79
|
structured_data = {
|
82
80
|
"meta" => {
|
83
|
-
"x-group" =>
|
81
|
+
"x-group" => gen_xgroup,
|
84
82
|
"x-counter" => @counter
|
85
83
|
}
|
86
84
|
}
|
87
85
|
|
88
|
-
sd = format_sdata(structured_data)
|
89
|
-
|
90
86
|
lines = msg2str(message).split(/\r?\n/).reject(&:empty?).map do |line|
|
87
|
+
@counter = (@counter + 1) % 65536
|
88
|
+
structured_data["meta"]["x-counter"] = @counter
|
89
|
+
sd = format_sdata(structured_data)
|
91
90
|
Format % [pri, datetime.strftime("%FT%T.%6N%:z"), @hostname,
|
92
91
|
@appname, format_field(@procid || Process.pid.to_s, 128),
|
93
92
|
message_id, sd, line]
|
94
93
|
end
|
95
|
-
|
96
|
-
|
94
|
+
if lines.size == 1
|
95
|
+
lines[0]
|
96
|
+
else
|
97
|
+
lines
|
98
|
+
end
|
97
99
|
end
|
98
100
|
|
99
101
|
private
|
102
|
+
def gen_xgroup
|
103
|
+
rand(99999999)
|
104
|
+
end
|
105
|
+
|
100
106
|
def format_field(text, max_length)
|
101
107
|
if text
|
102
108
|
text[0..max_length].gsub(/\s+/, '')
|
data/lib/syslogger/logger.rb
CHANGED
data/spec/syslogger/io_spec.rb
CHANGED
@@ -1,14 +1,31 @@
|
|
1
1
|
describe SysLogger::Logger do
|
2
2
|
let(:io) { StringIO.new }
|
3
|
+
let(:time_under_test) { Time.new(2019, 10, 28, 12, 26, 0, "-07:00") }
|
3
4
|
|
4
5
|
subject { SysLogger::Logger.new(io) }
|
5
6
|
|
6
7
|
its("logdev.dev") { is_expected.to be io }
|
7
8
|
its(:default_formatter) { is_expected.to be_a SysLogger::Formatter::RFC5424 }
|
8
9
|
|
10
|
+
before(:example) do
|
11
|
+
allow(Time).to receive(:now).and_return(time_under_test)
|
12
|
+
allow(Socket).to receive(:gethostname).and_return("testhostname")
|
13
|
+
allow(Process).to receive(:pid).and_return(1234)
|
14
|
+
allow_any_instance_of(SysLogger::Formatter::RFC5424).to receive(:gen_xgroup).and_return(98765)
|
15
|
+
end
|
16
|
+
|
9
17
|
it "logs exceptions" do
|
10
18
|
subject.error StandardError.new("foobar")
|
11
19
|
expect(io.string).to match(
|
12
20
|
/<187>1.* - #{Process.pid} - \[meta x-group=".*"\] foobar \(StandardError\)/)
|
13
21
|
end
|
22
|
+
|
23
|
+
it "sends multiline messages as an array" do
|
24
|
+
expect(io).to receive(:write).with([
|
25
|
+
"<190>1 2019-10-28T12:26:00.000000-07:00 testhostname - 1234 - [meta x-group=\"98765\" x-counter=\"1\"] foo\n",
|
26
|
+
"<190>1 2019-10-28T12:26:00.000000-07:00 testhostname - 1234 - [meta x-group=\"98765\" x-counter=\"2\"] bar\n",
|
27
|
+
"<190>1 2019-10-28T12:26:00.000000-07:00 testhostname - 1234 - [meta x-group=\"98765\" x-counter=\"3\"] baz\n"
|
28
|
+
])
|
29
|
+
subject.info "foo\nbar\nbaz"
|
30
|
+
end
|
14
31
|
end
|
metadata
CHANGED
@@ -1,101 +1,102 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syslogger5424
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- EasyPost
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mono_logger
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec-its
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec-temp_dir
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
-
description:
|
98
|
-
|
97
|
+
description: Logger subclass to log to syslog using the RFC 5424 format, with support
|
98
|
+
for STREAM- and DGRAM-mode domain sockets
|
99
|
+
email: oss@easypost.com
|
99
100
|
executables: []
|
100
101
|
extensions: []
|
101
102
|
extra_rdoc_files: []
|
@@ -111,25 +112,27 @@ files:
|
|
111
112
|
- spec/syslogger/logger_spec.rb
|
112
113
|
- spec/syslogger_spec.rb
|
113
114
|
homepage: http://github.com/EasyPost/syslogger
|
114
|
-
licenses:
|
115
|
-
|
115
|
+
licenses:
|
116
|
+
- ISC
|
117
|
+
metadata:
|
118
|
+
changelog_uri: https://github.com/easypost/syslogger/blob/master/CHANGES.md
|
116
119
|
post_install_message:
|
117
120
|
rdoc_options: []
|
118
121
|
require_paths:
|
119
122
|
- lib
|
120
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
121
124
|
requirements:
|
122
|
-
- -
|
125
|
+
- - ">="
|
123
126
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
127
|
+
version: '2.1'
|
125
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
129
|
requirements:
|
127
|
-
- -
|
130
|
+
- - ">="
|
128
131
|
- !ruby/object:Gem::Version
|
129
132
|
version: '0'
|
130
133
|
requirements: []
|
131
134
|
rubyforge_project:
|
132
|
-
rubygems_version: 2.
|
135
|
+
rubygems_version: 2.2.2
|
133
136
|
signing_key:
|
134
137
|
specification_version: 4
|
135
138
|
summary: Logging via syslog using RFC 5424 format
|