remote_syslog 1.6.9 → 1.6.10
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.
- data/README.md +14 -0
- data/Rakefile +2 -2
- data/examples/log_files.yml.example.advanced +2 -1
- data/examples/remote_syslog.upstart.conf +2 -0
- data/lib/remote_syslog.rb +1 -1
- data/lib/remote_syslog/agent.rb +2 -2
- data/lib/remote_syslog/cli.rb +4 -0
- data/lib/remote_syslog/message_generator.rb +2 -0
- data/remote_syslog.gemspec +3 -2
- data/test/unit/message_generator_test.rb +14 -0
- metadata +118 -108
data/README.md
CHANGED
@@ -254,6 +254,20 @@ exclude_patterns with an array or regexes:
|
|
254
254
|
- exclude this
|
255
255
|
- \d+ things
|
256
256
|
|
257
|
+
### Prepending a string to log messages
|
258
|
+
|
259
|
+
Use `prepend` to prepend a string to every log message before
|
260
|
+
transmitting. The string is prepended to the log message body, as if it
|
261
|
+
occurred at the start of every log file line. Include a trailing space
|
262
|
+
if desired.
|
263
|
+
|
264
|
+
Examples:
|
265
|
+
|
266
|
+
prepend: important:
|
267
|
+
|
268
|
+
or:
|
269
|
+
|
270
|
+
prepend: cafebabe-1024-4096-badd-1234abcd1234
|
257
271
|
|
258
272
|
### Choosing app name
|
259
273
|
|
data/Rakefile
CHANGED
@@ -48,7 +48,7 @@ task :default => :test
|
|
48
48
|
require 'rake/testtask'
|
49
49
|
Rake::TestTask.new(:test) do |test|
|
50
50
|
test.libs << 'lib' << 'test'
|
51
|
-
test.pattern = 'test
|
51
|
+
test.pattern = 'test/**/*_test.rb'
|
52
52
|
test.verbose = true
|
53
53
|
end
|
54
54
|
|
@@ -60,7 +60,7 @@ task :coverage do
|
|
60
60
|
sh "open coverage/index.html"
|
61
61
|
end
|
62
62
|
|
63
|
-
require '
|
63
|
+
require 'rdoc/task'
|
64
64
|
Rake::RDocTask.new do |rdoc|
|
65
65
|
rdoc.rdoc_dir = 'rdoc'
|
66
66
|
rdoc.title = "#{name} #{version}"
|
@@ -5,8 +5,9 @@ files:
|
|
5
5
|
- /opt/misc/*.log
|
6
6
|
- /var/log/mysqld.log
|
7
7
|
- /var/run/mysqld/mysqld-slow.log
|
8
|
-
hostname: www42
|
8
|
+
hostname: www42 # override OS hostname
|
9
9
|
parse_fields: syslog # predefined regex name or double-quoted regex
|
10
|
+
prepend: '0xDEADBEEF: ' # prepend this before every log message
|
10
11
|
exclude_patterns:
|
11
12
|
- exclude this
|
12
13
|
- \d+ things
|
data/lib/remote_syslog.rb
CHANGED
data/lib/remote_syslog/agent.rb
CHANGED
@@ -27,7 +27,7 @@ module RemoteSyslog
|
|
27
27
|
attr_accessor :facility, :severity, :hostname
|
28
28
|
|
29
29
|
# Other settings
|
30
|
-
attr_accessor :strip_color, :parse_fields
|
30
|
+
attr_accessor :strip_color, :parse_fields, :prepend
|
31
31
|
|
32
32
|
# Exclude messages matching pattern
|
33
33
|
attr_accessor :exclude_pattern
|
@@ -118,7 +118,7 @@ module RemoteSyslog
|
|
118
118
|
:facility => @facility, :severity => @severity,
|
119
119
|
:strip_color => @strip_color, :hostname => @hostname,
|
120
120
|
:parse_fields => @parse_fields, :exclude_pattern => @exclude_pattern,
|
121
|
-
:max_message_size => max_message_size)
|
121
|
+
:prepend => @prepend, :max_message_size => max_message_size)
|
122
122
|
|
123
123
|
files.each do |file|
|
124
124
|
RemoteSyslog::GlobWatch.new(file, @glob_check_interval,
|
data/lib/remote_syslog/cli.rb
CHANGED
@@ -11,6 +11,7 @@ module RemoteSyslog
|
|
11
11
|
@parse_fields = options[:parse_fields]
|
12
12
|
@strip_color = options[:strip_color]
|
13
13
|
@exclude_pattern = options[:exclude_pattern]
|
14
|
+
@prepend = options[:prepend]
|
14
15
|
@max_message_size = options[:max_message_size] || 1024
|
15
16
|
|
16
17
|
@packet = SyslogProtocol::Packet.new
|
@@ -34,6 +35,7 @@ module RemoteSyslog
|
|
34
35
|
return if @exclude_pattern && message =~ @exclude_pattern
|
35
36
|
|
36
37
|
message = message.gsub(COLORED_REGEXP, '') if @strip_color
|
38
|
+
message = @prepend + message if @prepend
|
37
39
|
|
38
40
|
packet = @packet.dup
|
39
41
|
packet.content = message
|
data/remote_syslog.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
|
|
8
8
|
## If your rubyforge_project name is different, then edit it and comment out
|
9
9
|
## the sub! line in the Rakefile
|
10
10
|
s.name = 'remote_syslog'
|
11
|
-
s.version = '1.6.
|
12
|
-
s.date = '
|
11
|
+
s.version = '1.6.10'
|
12
|
+
s.date = '2013-01-14'
|
13
13
|
s.rubyforge_project = 'remote_syslog'
|
14
14
|
|
15
15
|
## Make sure your summary is short. The description may be as long
|
@@ -78,6 +78,7 @@ Gem::Specification.new do |s|
|
|
78
78
|
lib/remote_syslog/tls_endpoint.rb
|
79
79
|
lib/remote_syslog/udp_endpoint.rb
|
80
80
|
remote_syslog.gemspec
|
81
|
+
test/unit/message_generator_test.rb
|
81
82
|
]
|
82
83
|
# = MANIFEST =
|
83
84
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'remote_syslog/message_generator'
|
3
|
+
|
4
|
+
class MessageGeneratorTest < Test::Unit::TestCase
|
5
|
+
def test_prepend_prepend
|
6
|
+
socket = []
|
7
|
+
def socket.write(packet)
|
8
|
+
self << packet
|
9
|
+
end
|
10
|
+
generator = RemoteSyslog::MessageGenerator.new(socket, {:prepend => 'crazy_prefix '})
|
11
|
+
generator.transmit("tag", "message")
|
12
|
+
assert_match /crazy_prefix /, socket[0]
|
13
|
+
end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,119 +1,133 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: remote_syslog
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 6
|
8
|
-
- 9
|
9
|
-
version: 1.6.9
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.6.10
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Troy Davis
|
13
9
|
- Eric Lindvall
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2013-01-14 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: servolux
|
23
|
-
|
24
|
-
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
version: "0"
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
31
23
|
type: :runtime
|
32
|
-
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: file-tail
|
35
24
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: file-tail
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
43
39
|
type: :runtime
|
44
|
-
version_requirements: *id002
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: eventmachine
|
47
40
|
prerelease: false
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: eventmachine
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
56
54
|
version: 0.12.10
|
57
55
|
- - <
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
- 1
|
61
|
-
- 1
|
62
|
-
version: "1.1"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '1.1'
|
63
58
|
type: :runtime
|
64
|
-
version_requirements: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: eventmachine-tail
|
67
59
|
prerelease: false
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.12.10
|
66
|
+
- - <
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: eventmachine-tail
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
76
|
version: 0.6.4
|
77
77
|
type: :runtime
|
78
|
-
version_requirements: *id004
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: syslog_protocol
|
81
78
|
prerelease: false
|
82
|
-
|
83
|
-
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.6.4
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: syslog_protocol
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
84
90
|
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
segments:
|
87
|
-
- 0
|
88
|
-
- 9
|
89
|
-
- 2
|
91
|
+
- !ruby/object:Gem::Version
|
90
92
|
version: 0.9.2
|
91
93
|
type: :runtime
|
92
|
-
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: em-resolv-replace
|
95
94
|
prerelease: false
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ~>
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 0.9.2
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: em-resolv-replace
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ! '>='
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
103
109
|
type: :runtime
|
104
|
-
|
105
|
-
|
106
|
-
|
110
|
+
prerelease: false
|
111
|
+
version_requirements: !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
113
|
+
requirements:
|
114
|
+
- - ! '>='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
description: Lightweight daemon to tail one or more log files and transmit UDP syslog
|
118
|
+
messages to a remote syslog host (centralized log aggregation). Generates UDP packets
|
119
|
+
itself instead of depending on a system syslog daemon, so it doesn't affect system-wide
|
120
|
+
logging configuration.
|
121
|
+
email:
|
107
122
|
- troy@sevenscale.com
|
108
123
|
- eric@sevenscale.com
|
109
|
-
executables:
|
124
|
+
executables:
|
110
125
|
- remote_syslog
|
111
126
|
extensions: []
|
112
|
-
|
113
|
-
extra_rdoc_files:
|
127
|
+
extra_rdoc_files:
|
114
128
|
- README.md
|
115
129
|
- LICENSE
|
116
|
-
files:
|
130
|
+
files:
|
117
131
|
- Gemfile
|
118
132
|
- LICENSE
|
119
133
|
- README.md
|
@@ -136,35 +150,31 @@ files:
|
|
136
150
|
- lib/remote_syslog/tls_endpoint.rb
|
137
151
|
- lib/remote_syslog/udp_endpoint.rb
|
138
152
|
- remote_syslog.gemspec
|
139
|
-
|
153
|
+
- test/unit/message_generator_test.rb
|
140
154
|
homepage: http://github.com/papertrail/remote_syslog
|
141
155
|
licenses: []
|
142
|
-
|
143
156
|
post_install_message:
|
144
|
-
rdoc_options:
|
157
|
+
rdoc_options:
|
145
158
|
- --charset=UTF-8
|
146
|
-
require_paths:
|
159
|
+
require_paths:
|
147
160
|
- lib
|
148
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
requirements:
|
157
|
-
- -
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
|
160
|
-
- 0
|
161
|
-
version: "0"
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
162
173
|
requirements: []
|
163
|
-
|
164
174
|
rubyforge_project: remote_syslog
|
165
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 1.8.24
|
166
176
|
signing_key:
|
167
177
|
specification_version: 2
|
168
|
-
summary: Monitor plain text log file(s) for new entries and send to remote syslog
|
178
|
+
summary: Monitor plain text log file(s) for new entries and send to remote syslog
|
179
|
+
collector
|
169
180
|
test_files: []
|
170
|
-
|