remote_syslog 1.6.6.1 → 1.6.7.pre1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -174,6 +174,17 @@ than the current set of matches). This is not necessary for globs defined in
174
174
  the config file.
175
175
 
176
176
 
177
+ ### Excluding files from being sent
178
+
179
+ Provide one or more regular expressions to prevent certain files from being
180
+ matched.
181
+
182
+ exclude_files:
183
+ - \.\d$
184
+ - .bz2
185
+ - .gz
186
+
187
+
177
188
  ### Multiple instances
178
189
 
179
190
  Run multiple instances to support more than one message-specific file format
data/lib/remote_syslog.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module RemoteSyslog
2
- VERSION = "1.6.6.1"
2
+ VERSION = "1.6.7.pre1"
3
3
  end
4
4
 
@@ -23,11 +23,17 @@ module RemoteSyslog
23
23
  attr_accessor :facility, :severity, :hostname
24
24
 
25
25
  # Other settings
26
- attr_accessor :strip_color, :parse_fields, :exclude_pattern
26
+ attr_accessor :strip_color, :parse_fields
27
27
 
28
- # Files
28
+ # Exclude messages matching pattern
29
+ attr_accessor :exclude_pattern
30
+
31
+ # Files (can be globs)
29
32
  attr_reader :files
30
33
 
34
+ # Exclude files matching pattern
35
+ attr_accessor :exclude_file_pattern
36
+
31
37
  # How often should we check for new files?
32
38
  attr_accessor :glob_check_interval
33
39
 
@@ -107,7 +113,7 @@ module RemoteSyslog
107
113
 
108
114
  files.each do |file|
109
115
  RemoteSyslog::GlobWatch.new(file, @glob_check_interval,
110
- method(:watch_file))
116
+ @exclude_file_pattern, method(:watch_file))
111
117
  end
112
118
  end
113
119
  end
@@ -217,6 +217,14 @@ module RemoteSyslog
217
217
  if config['exclude_patterns']
218
218
  @agent.exclude_pattern = Regexp.new(config['exclude_patterns'].map { |r| "(#{r})" }.join('|'))
219
219
  end
220
+
221
+ if config['exclude_files']
222
+ @agent.exclude_file_pattern = Regexp.new(config['exclude_files'].map { |r| "(#{r})" }.join('|'))
223
+ end
224
+
225
+ if config['new_file_check_interval']
226
+ @agent.glob_check_interval = config['new_file_check_interval']
227
+ end
220
228
  end
221
229
 
222
230
  def run
@@ -2,12 +2,19 @@ require 'eventmachine-tail'
2
2
 
3
3
  module RemoteSyslog
4
4
  class GlobWatch < EventMachine::FileGlobWatch
5
- def initialize(path, interval, callback)
6
- super(path, interval)
5
+ def initialize(path, interval, exclude_files, callback)
6
+ @exclude_files = exclude_files
7
7
  @callback = callback
8
+
9
+ super(path, interval)
8
10
  end
9
11
 
10
12
  def file_found(path)
13
+ # Check if we should exclude this file
14
+ if @exclude_files && @exclude_files =~ path
15
+ return
16
+ end
17
+
11
18
  @callback.call(path)
12
19
  end
13
20
 
@@ -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.6.1'
12
- s.date = '2012-08-16'
11
+ s.version = '1.6.7.pre1'
12
+ s.date = '2012-09-04'
13
13
  s.rubyforge_project = 'remote_syslog'
14
14
 
15
15
  ## Make sure your summary is short. The description may be as long
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remote_syslog
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 1
7
7
  - 6
8
- - 6
9
- - 1
10
- version: 1.6.6.1
8
+ - 7
9
+ - pre1
10
+ version: 1.6.7.pre1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Troy Davis
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-08-16 00:00:00 -07:00
19
+ date: 2012-09-04 00:00:00 -07:00
20
20
  default_executable: remote_syslog
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -152,11 +152,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
152
  version: "0"
153
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - ">="
155
+ - - ">"
156
156
  - !ruby/object:Gem::Version
157
157
  segments:
158
- - 0
159
- version: "0"
158
+ - 1
159
+ - 3
160
+ - 1
161
+ version: 1.3.1
160
162
  requirements: []
161
163
 
162
164
  rubyforge_project: remote_syslog