logstash_rails 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -7,6 +7,7 @@ group :development do
7
7
  gem 'pry'
8
8
  gem 'yard'
9
9
  gem 'rake'
10
+ gem 'redcarpet'
10
11
  end
11
12
 
12
13
  group :test do
data/README.md CHANGED
@@ -32,7 +32,7 @@ and provide an initializer for configuration.
32
32
 
33
33
  * __transport__
34
34
 
35
- redis is the only available transport atm
35
+ redis, logstash-udp and logstash-tcp are available atm
36
36
 
37
37
  * __logger__
38
38
 
@@ -64,7 +64,7 @@ A more complete example looks like:
64
64
  ```ruby
65
65
  if Rails.env.production?
66
66
  LogstashRails.config(
67
- transport: redis,
67
+ transport: :redis,
68
68
  host: '1.2.3.4',
69
69
  port: 12345,
70
70
  redis_key: 'my_key',
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
- require 'yard/rake/yardoc_task'
2
+ require 'yard'
3
3
  require 'rspec/core/rake_task'
4
4
 
5
5
  RSpec::Core::RakeTask.new(:test)
@@ -1,6 +1,14 @@
1
1
  module LogstashRails
2
+
3
+ # base class for all transports
4
+ #
2
5
  class ConfigurationBase
3
6
 
7
+ # @param options [Hash]
8
+ #
9
+ # @option options [Array] :events The list of events to subscribe
10
+ # @option options [Logger] :logger The logger for exceptions
11
+ #
4
12
  def initialize(options)
5
13
  @events = options[:events] || [/.*/]
6
14
  @logger = options[:logger]
@@ -12,6 +20,10 @@ module LogstashRails
12
20
  subscribe
13
21
  end
14
22
 
23
+ # destroy
24
+ #
25
+ # unsubscribe from ActiveSupport::Notifications
26
+ #
15
27
  def destroy
16
28
  return unless @subscriptions
17
29
 
@@ -24,21 +36,23 @@ module LogstashRails
24
36
 
25
37
  def subscribe
26
38
  @subscriptions = @events.map do |event|
27
- ActiveSupport::Notifications.subscribe(event) do |*args|
28
- json_event = Formatter.format(*args)
29
-
30
- begin
31
- push(json_event)
32
- rescue
33
- log($!)
34
- end
35
- end
39
+ ActiveSupport::Notifications.subscribe(event, method(:event_handler))
40
+ end
41
+ end
42
+
43
+ def event_handler(*args)
44
+ json_event = Formatter.format(*args)
45
+
46
+ begin
47
+ push(json_event)
48
+ rescue
49
+ log($!)
36
50
  end
37
51
  end
38
52
 
39
53
  def log(exception)
40
- msg = exception.message + "\n " + exception.backtrace.join("\n ")
41
- @logger.error(msg) if @logger
54
+ return unless @logger
55
+ @logger.error(exception.message + "\n " + exception.backtrace.join("\n "))
42
56
  end
43
57
 
44
58
  end
@@ -1,3 +1,3 @@
1
1
  module LogstashRails
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-12 00:00:00.000000000 Z
12
+ date: 2013-06-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: logstash-event
@@ -103,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  segments:
105
105
  - 0
106
- hash: 1855130879453576509
106
+ hash: -1863269077052874356
107
107
  required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
@@ -112,10 +112,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  segments:
114
114
  - 0
115
- hash: 1855130879453576509
115
+ hash: -1863269077052874356
116
116
  requirements: []
117
117
  rubyforge_project:
118
- rubygems_version: 1.8.25
118
+ rubygems_version: 1.8.24
119
119
  signing_key:
120
120
  specification_version: 3
121
121
  summary: Send events from Rails to Logstash without logger foo.