logglier 0.2.8 → 0.2.9
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 +15 -0
- data/Gemfile +1 -10
- data/README.md +5 -1
- data/lib/logglier/client/http/sync.rb +7 -2
- data/lib/logglier/client.rb +4 -4
- data/lib/logglier/version.rb +1 -1
- data/logglier.gemspec +3 -2
- data/spec/client_spec.rb +1 -2
- data/spec/http_spec.rb +2 -2
- data/spec/threaded_spec.rb +4 -2
- metadata +38 -31
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
Yzc0NmNmOWNjZTQwMjA0YzQ2ZmFmMjAwMWJlNThhN2RmOWE2NjA0NQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YTVkMDI0ZTRiYjc1YTYzMjYwY2ZhMzUyZTZmZDBlNDU0ODc3MTc4OQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NjAzMTNhMTQ0Y2YwNjZlZjU0NzNjYjk0MjM1ODBhZjMwZjE5ZjdmYTRjYmM0
|
10
|
+
YjFmZmNmZjE5MDRiNTNlZWZiNGU3MGJlZDYyNjA0NTgxMTZiNGUwMTg3YTA4
|
11
|
+
NWQzYjY4YzNkYTQ5YzY2ODE1ODhhYmZjY2IxMzM0YjY5ODVhNWI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NWNhOWM3MjU1ZjE0MjNiNWIxOTEwYThiODQ5ZDNlODgyZTNkMjNjZjM4NDY4
|
14
|
+
ZWUwMGIyYTU3OWY3ZWU2MTE2NzRlMTNjNWRiOTUwY2E1YjgwYjQ4ZDUwM2Zk
|
15
|
+
MGFkOWY4MzZhZWUxMmVlNzY2M2Y4Y2ViOTg1Y2M3NmUzMTlhNTE=
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Overview
|
2
2
|
--------
|
3
|
-
[](https://travis-ci.org/freeformz/logglier)
|
4
4
|
|
5
5
|
Send logged messages to Loggly using either the HTTP API or Syslog/UDP.
|
6
6
|
|
@@ -67,6 +67,9 @@ Example:
|
|
67
67
|
Logglier.new('https://logs.loggly.com/inputs/<id>',
|
68
68
|
:format => :json)
|
69
69
|
|
70
|
+
Logglier uses [MultiJson](https://github.com/intridea/multi_json) to delegate the choice of JSON libraries to you, but I recommend using
|
71
|
+
[Yajl](https://github.com/brianmario/yajl-ruby), just require the json gem of your choice before logglier.
|
72
|
+
|
70
73
|
### Syslog TCP/UDP Inputs
|
71
74
|
|
72
75
|
Logglier.new('[udp|tcp]://<hostname>:<port>/<facility>')
|
@@ -110,6 +113,7 @@ Pull requests welcome
|
|
110
113
|
TODO
|
111
114
|
-----
|
112
115
|
|
116
|
+
* Support ActiveSupport Notifications for newer rails
|
113
117
|
* Alternative https implementations (Typheous, Excon, etc). May be
|
114
118
|
faster?
|
115
119
|
* EM Integration?
|
@@ -32,6 +32,10 @@ module Logglier
|
|
32
32
|
@open_timeout = opts[:open_timeout] || 5
|
33
33
|
@failsafe = opts[:failsafe] || $stderr
|
34
34
|
@format = opts[:format] ? opts[:format].to_sym : nil
|
35
|
+
@proxy_addr = opts[:proxy_addr]
|
36
|
+
@proxy_port = opts[:proxy_port]
|
37
|
+
@proxy_user = opts[:proxy_user]
|
38
|
+
@proxy_password = opts[:proxy_password]
|
35
39
|
@headers = {}
|
36
40
|
if @format == :json
|
37
41
|
@headers['Content-Type'] = 'application/json'
|
@@ -68,7 +72,8 @@ module Logglier
|
|
68
72
|
private
|
69
73
|
|
70
74
|
def connect!
|
71
|
-
@
|
75
|
+
@http_class = Net::HTTP::Proxy(@proxy_addr, @proxy_port, @proxy_user, @proxy_user)
|
76
|
+
@http = @http_class.new(@input_uri.host, @input_uri.port)
|
72
77
|
|
73
78
|
if @input_uri.scheme == 'https'
|
74
79
|
@http.use_ssl = true
|
@@ -86,7 +91,7 @@ module Logglier
|
|
86
91
|
end
|
87
92
|
|
88
93
|
def failsafe_retrying(exception, message, retries)
|
89
|
-
@failsafe.puts "
|
94
|
+
@failsafe.puts "RETRY: [#{retries} of #{RETRIES}] " + failsafe_message(exception, message)
|
90
95
|
end
|
91
96
|
|
92
97
|
def failsafe_errored(exception, message)
|
data/lib/logglier/client.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'multi_json'
|
2
2
|
|
3
3
|
module Logglier
|
4
4
|
module Client
|
@@ -60,9 +60,9 @@ module Logglier
|
|
60
60
|
def formatter
|
61
61
|
proc do |severity, datetime, progname, msg|
|
62
62
|
if @format == :json && msg.is_a?(Hash)
|
63
|
-
msg.merge
|
64
|
-
|
65
|
-
|
63
|
+
MultiJson.dump(msg.merge({ :severity => severity,
|
64
|
+
:datetime => datetime,
|
65
|
+
:progname => progname }))
|
66
66
|
else
|
67
67
|
message = "#{datetime} "
|
68
68
|
message << massage_message(msg, severity)
|
data/lib/logglier/version.rb
CHANGED
data/logglier.gemspec
CHANGED
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.email = 'edwardam@interlix.com'
|
13
13
|
s.homepage = 'http://github.com/freeformz/logglier'
|
14
14
|
|
15
|
-
s.files = %w{ README.md Gemfile LICENSE logglier.gemspec Rakefile } + Dir["
|
15
|
+
s.files = %w{ README.md Gemfile LICENSE logglier.gemspec Rakefile } + Dir["lib/**/*.rb"]
|
16
16
|
s.require_paths = ['lib']
|
17
|
-
s.test_files = Dir["
|
17
|
+
s.test_files = Dir["spec/**/*.rb"]
|
18
18
|
|
19
19
|
s.rubyforge_project = 'logglier'
|
20
20
|
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.add_development_dependency 'rake'
|
25
25
|
s.add_development_dependency 'rspec', '~> 2.11.0'
|
26
|
+
s.add_development_dependency 'multi_json'
|
26
27
|
end
|
27
28
|
|
28
29
|
|
data/spec/client_spec.rb
CHANGED
@@ -28,9 +28,8 @@ describe Logglier::Client do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
context "that is a valid udp uri" do
|
31
|
-
|
32
31
|
it "should return an instance of the proper client" do
|
33
|
-
log = Logglier::Client.new('udp://
|
32
|
+
log = Logglier::Client.new('udp://localhost:42538')
|
34
33
|
log.should be_an_instance_of Logglier::Client::Syslog
|
35
34
|
end
|
36
35
|
end
|
data/spec/http_spec.rb
CHANGED
@@ -46,7 +46,7 @@ describe 'HTTP' do
|
|
46
46
|
@failsafe.rewind
|
47
47
|
lines = @failsafe.readlines
|
48
48
|
lines.size.should == 4
|
49
|
-
lines[0..2].each {|l| l.should =~ /^
|
49
|
+
lines[0..2].each {|l| l.should =~ /^RETRY/ }
|
50
50
|
lines.last.should =~ /^ERROR/
|
51
51
|
end
|
52
52
|
end
|
@@ -67,7 +67,7 @@ describe 'HTTP' do
|
|
67
67
|
@failsafe.rewind
|
68
68
|
lines = @failsafe.readlines
|
69
69
|
lines.size.should == 3
|
70
|
-
lines[0..2].each {|l| l.should =~ /^
|
70
|
+
lines[0..2].each {|l| l.should =~ /^RETRY/ }
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
data/spec/threaded_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe Logglier::Client::HTTP::DeliveryThread do
|
|
6
6
|
Logglier::Client::HTTP::NetHTTPProxy.stub(:new) { @mock_http }
|
7
7
|
end
|
8
8
|
|
9
|
-
subject {
|
9
|
+
subject { Logglier::Client::HTTP::DeliveryThread.new(URI.parse('http://localhost')) }
|
10
10
|
|
11
11
|
it "should deliver the message" do
|
12
12
|
@mock_http.should_receive(:deliver).with("test")
|
@@ -26,7 +26,7 @@ describe Logglier::Client::HTTP::DeliveryThreadManager do
|
|
26
26
|
Logglier::Client::HTTP::NetHTTPProxy.stub(:new) { @mock_http }
|
27
27
|
end
|
28
28
|
|
29
|
-
subject {
|
29
|
+
subject { Logglier::Client::HTTP::DeliveryThreadManager.new(URI.parse('http://localhost')) }
|
30
30
|
|
31
31
|
it "should instantiate a delivery_thread" do
|
32
32
|
Logglier::Client::HTTP::DeliveryThread.should_receive(:new).once
|
@@ -50,6 +50,8 @@ describe Logglier::Client::HTTP::DeliveryThreadManager do
|
|
50
50
|
|
51
51
|
@first_thread.kill
|
52
52
|
|
53
|
+
@first_thread.join
|
54
|
+
|
53
55
|
subject.deliver('force respawn')
|
54
56
|
|
55
57
|
@second_thread = subject.instance_variable_get(:@thread)
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logglier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.9
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Edward Muller (aka freeformz)
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-09-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,11 +34,24 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 2.11.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: multi_json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
46
55
|
description: Logger => Loggly
|
47
56
|
email: edwardam@interlix.com
|
48
57
|
executables: []
|
@@ -54,48 +63,46 @@ files:
|
|
54
63
|
- LICENSE
|
55
64
|
- logglier.gemspec
|
56
65
|
- Rakefile
|
57
|
-
-
|
58
|
-
-
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
63
|
-
-
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
-
|
68
|
-
-
|
69
|
-
-
|
66
|
+
- lib/logglier/client/http/sync.rb
|
67
|
+
- lib/logglier/client/http/threaded.rb
|
68
|
+
- lib/logglier/client/http.rb
|
69
|
+
- lib/logglier/client/syslog.rb
|
70
|
+
- lib/logglier/client.rb
|
71
|
+
- lib/logglier/version.rb
|
72
|
+
- lib/logglier.rb
|
73
|
+
- spec/client/syslog_spec.rb
|
74
|
+
- spec/client_spec.rb
|
75
|
+
- spec/http_spec.rb
|
76
|
+
- spec/logglier_spec.rb
|
77
|
+
- spec/spec_helper.rb
|
78
|
+
- spec/threaded_spec.rb
|
70
79
|
homepage: http://github.com/freeformz/logglier
|
71
80
|
licenses: []
|
81
|
+
metadata: {}
|
72
82
|
post_install_message:
|
73
83
|
rdoc_options: []
|
74
84
|
require_paths:
|
75
85
|
- lib
|
76
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
87
|
requirements:
|
79
88
|
- - ! '>='
|
80
89
|
- !ruby/object:Gem::Version
|
81
90
|
version: 1.8.6
|
82
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
92
|
requirements:
|
85
93
|
- - ! '>='
|
86
94
|
- !ruby/object:Gem::Version
|
87
95
|
version: 1.3.6
|
88
96
|
requirements: []
|
89
97
|
rubyforge_project: logglier
|
90
|
-
rubygems_version: 1.
|
98
|
+
rubygems_version: 2.1.2
|
91
99
|
signing_key:
|
92
|
-
specification_version:
|
100
|
+
specification_version: 4
|
93
101
|
summary: Loggly "plugin" for Logger
|
94
102
|
test_files:
|
95
|
-
-
|
96
|
-
-
|
97
|
-
-
|
98
|
-
-
|
99
|
-
-
|
100
|
-
-
|
101
|
-
has_rdoc:
|
103
|
+
- spec/client/syslog_spec.rb
|
104
|
+
- spec/client_spec.rb
|
105
|
+
- spec/http_spec.rb
|
106
|
+
- spec/logglier_spec.rb
|
107
|
+
- spec/spec_helper.rb
|
108
|
+
- spec/threaded_spec.rb
|