logstash_rails 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -0
- data/Rakefile +1 -2
- data/lib/logstash_rails.rb +1 -1
- data/lib/logstash_rails/transport/logfile.rb +24 -0
- data/lib/logstash_rails/transport/logstash_tcp.rb +1 -1
- data/lib/logstash_rails/transport/logstash_udp.rb +1 -1
- data/lib/logstash_rails/transport/redis.rb +1 -1
- data/lib/logstash_rails/{configuration_base.rb → transport_base.rb} +2 -2
- data/lib/logstash_rails/version.rb +1 -1
- data/spec/lib/logstash_rails/transport/logfile_spec.rb +26 -0
- data/spec/lib/logstash_rails/{configuration_spec.rb → transport_base_spec.rb} +1 -1
- metadata +9 -6
data/README.md
CHANGED
@@ -7,6 +7,11 @@
|
|
7
7
|
|
8
8
|
Send events from Rails to Logstash without logger foo.
|
9
9
|
|
10
|
+
LogstashRails uses `ActiveSupport::Notifications` to subscribe to events from *Rails* and push them to *Logstash*.
|
11
|
+
It emmits json formatted `Logstash::Event`.
|
12
|
+
|
13
|
+
There is no `Logger` configuration, logfile or filter in Logstash required.
|
14
|
+
|
10
15
|
## Contents
|
11
16
|
|
12
17
|
* [Usage](#usage)
|
data/Rakefile
CHANGED
data/lib/logstash_rails.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
3
|
+
module LogstashRails
|
4
|
+
module Transport
|
5
|
+
class Logfile < TransportBase
|
6
|
+
|
7
|
+
def initialize(options = {})
|
8
|
+
logfile = options[:logfile] || 'log/logstash_rails.log'
|
9
|
+
|
10
|
+
@logger = ::Logger.new(logfile)
|
11
|
+
|
12
|
+
@logger.formatter = lambda do |severity, datetime, progname, msg|
|
13
|
+
"#{msg}\n"
|
14
|
+
end
|
15
|
+
@logger.level = Logger::INFO
|
16
|
+
end
|
17
|
+
|
18
|
+
def push(json_event)
|
19
|
+
@logger.error(json_event)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
describe LogstashRails::Transport::Logfile do
|
2
|
+
|
3
|
+
let :logfile do
|
4
|
+
Tempfile.new(__FILE__)
|
5
|
+
end
|
6
|
+
|
7
|
+
after do
|
8
|
+
logfile.unlink
|
9
|
+
end
|
10
|
+
|
11
|
+
subject do
|
12
|
+
LogstashRails::Transport::Logfile.new(logfile: logfile)
|
13
|
+
end
|
14
|
+
|
15
|
+
it { should respond_to :push }
|
16
|
+
|
17
|
+
it 'writes events to a logfile' do
|
18
|
+
event = 'foobar_event'
|
19
|
+
|
20
|
+
subject.push(event)
|
21
|
+
|
22
|
+
logfile.rewind
|
23
|
+
logfile.read.should include(event)
|
24
|
+
end
|
25
|
+
|
26
|
+
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.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -74,19 +74,21 @@ files:
|
|
74
74
|
- README.md
|
75
75
|
- Rakefile
|
76
76
|
- lib/logstash_rails.rb
|
77
|
-
- lib/logstash_rails/configuration_base.rb
|
78
77
|
- lib/logstash_rails/formatter.rb
|
79
78
|
- lib/logstash_rails/transport.rb
|
79
|
+
- lib/logstash_rails/transport/logfile.rb
|
80
80
|
- lib/logstash_rails/transport/logstash_tcp.rb
|
81
81
|
- lib/logstash_rails/transport/logstash_udp.rb
|
82
82
|
- lib/logstash_rails/transport/redis.rb
|
83
|
+
- lib/logstash_rails/transport_base.rb
|
83
84
|
- lib/logstash_rails/version.rb
|
84
85
|
- logstash_rails.gemspec
|
85
|
-
- spec/lib/logstash_rails/configuration_spec.rb
|
86
86
|
- spec/lib/logstash_rails/formatter_spec.rb
|
87
|
+
- spec/lib/logstash_rails/transport/logfile_spec.rb
|
87
88
|
- spec/lib/logstash_rails/transport/logstash_tcp_spec.rb
|
88
89
|
- spec/lib/logstash_rails/transport/logstash_udp_spec.rb
|
89
90
|
- spec/lib/logstash_rails/transport/redis_spec.rb
|
91
|
+
- spec/lib/logstash_rails/transport_base_spec.rb
|
90
92
|
- spec/spec_helper.rb
|
91
93
|
homepage: https://github.com/cmertz/logstash_rails
|
92
94
|
licenses:
|
@@ -103,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
105
|
version: '0'
|
104
106
|
segments:
|
105
107
|
- 0
|
106
|
-
hash: -
|
108
|
+
hash: -4205275555820602412
|
107
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
110
|
none: false
|
109
111
|
requirements:
|
@@ -112,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
114
|
version: '0'
|
113
115
|
segments:
|
114
116
|
- 0
|
115
|
-
hash: -
|
117
|
+
hash: -4205275555820602412
|
116
118
|
requirements: []
|
117
119
|
rubyforge_project:
|
118
120
|
rubygems_version: 1.8.24
|
@@ -120,10 +122,11 @@ signing_key:
|
|
120
122
|
specification_version: 3
|
121
123
|
summary: Send events from Rails to Logstash without logger foo.
|
122
124
|
test_files:
|
123
|
-
- spec/lib/logstash_rails/configuration_spec.rb
|
124
125
|
- spec/lib/logstash_rails/formatter_spec.rb
|
126
|
+
- spec/lib/logstash_rails/transport/logfile_spec.rb
|
125
127
|
- spec/lib/logstash_rails/transport/logstash_tcp_spec.rb
|
126
128
|
- spec/lib/logstash_rails/transport/logstash_udp_spec.rb
|
127
129
|
- spec/lib/logstash_rails/transport/redis_spec.rb
|
130
|
+
- spec/lib/logstash_rails/transport_base_spec.rb
|
128
131
|
- spec/spec_helper.rb
|
129
132
|
has_rdoc:
|