loggability 0.16.0 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +13 -0
- data/lib/loggability.rb +5 -5
- data/lib/loggability/log_device/http.rb +1 -1
- data/spec/loggability/log_device/http_spec.rb +21 -0
- data/spec/loggability_spec.rb +6 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 657ddfb25b87eccec0c814690fcc32056a5f0864d8e662f313b50a98cc44342e
|
4
|
+
data.tar.gz: 0653afb117c71ef19153a1f4f2440436ad427c6b74c64d1d7d1d0edb2cde5b0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10c6bc903e01021b38fcdabe55081e09c693ce54ebe388aef44752a17fec3e4e86a34d1bc40e7ae4c634f3d2a2ebf8c1be8e1813bdf9236b6eb29a6b5d50405e
|
7
|
+
data.tar.gz: 642857455ee0f09e90278308c9fe3da3c19e07dbe0e9a9a4ad30671075d71bfdc292a23df2dc2cc2a2c22f0cc452283216f14beac16deb4fe8ee76a95938df80
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,6 +1,19 @@
|
|
1
1
|
= Release History for loggability
|
2
2
|
|
3
3
|
---
|
4
|
+
|
5
|
+
== v0.17.0 [2020-02-27] Michael Granger <ged@faeriemud.org>
|
6
|
+
|
7
|
+
Bugfixes:
|
8
|
+
|
9
|
+
- Fix the construction of the client in the http log device
|
10
|
+
|
11
|
+
Improvements:
|
12
|
+
|
13
|
+
- Add support for log devices to the aggregate #output_to
|
14
|
+
|
15
|
+
|
16
|
+
|
4
17
|
== v0.16.0 [2020-02-24] Michael Granger <ged@faeriemud.org>
|
5
18
|
|
6
19
|
Improvements:
|
data/lib/loggability.rb
CHANGED
@@ -9,7 +9,7 @@ require 'date'
|
|
9
9
|
module Loggability
|
10
10
|
|
11
11
|
# Package version constant
|
12
|
-
VERSION = '0.
|
12
|
+
VERSION = '0.17.0'
|
13
13
|
|
14
14
|
# The key for the global logger (Loggability's own logger)
|
15
15
|
GLOBAL_KEY = :__global__
|
@@ -146,12 +146,12 @@ module Loggability
|
|
146
146
|
|
147
147
|
### Call the method with the given +methodname+ across the loggers of all loghosts with
|
148
148
|
### the given +arg+ and/or +block+.
|
149
|
-
def self::aggregate( methodname,
|
149
|
+
def self::aggregate( methodname, *args, &block )
|
150
150
|
# self.log.debug "Aggregating a call to %p with %p to %d log hosts" %
|
151
151
|
# [ methodname, arg, Loggability.log_hosts.length ]
|
152
152
|
Loggability.log_hosts.values.each do |loghost|
|
153
153
|
# self.log.debug " %p.logger.%s( %p )" % [ loghost, methodname, arg ]
|
154
|
-
loghost.logger.send( methodname,
|
154
|
+
loghost.logger.send( methodname, *args, &block )
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
@@ -191,8 +191,8 @@ module Loggability
|
|
191
191
|
#
|
192
192
|
# Aggregate method: set all loggers to log to +destination+. See Loggability::Logger#output_to
|
193
193
|
# for more info.
|
194
|
-
def self::output_to( newdevice )
|
195
|
-
self.aggregate( :output_to, newdevice )
|
194
|
+
def self::output_to( newdevice, *args )
|
195
|
+
self.aggregate( :output_to, newdevice, *args )
|
196
196
|
end
|
197
197
|
class << self
|
198
198
|
alias_method :write_to, :output_to
|
@@ -269,7 +269,7 @@ class Loggability::LogDevice::Http < Loggability::LogDevice
|
|
269
269
|
### sets up a configured http object ready to instantiate connections
|
270
270
|
def http_client
|
271
271
|
return @http_client ||= begin
|
272
|
-
uri = URI
|
272
|
+
uri = URI( self.endpoint )
|
273
273
|
|
274
274
|
http = Net::HTTP.new( uri.host, uri.port )
|
275
275
|
http.write_timeout = self.write_timeout
|
@@ -145,4 +145,25 @@ describe Loggability::LogDevice::Http do
|
|
145
145
|
end
|
146
146
|
|
147
147
|
|
148
|
+
it "uses an HTTP client for the appropriate host and port" do
|
149
|
+
device = described_class.new(
|
150
|
+
'http://logs.example.com:12881/v1/log_ingester',
|
151
|
+
executor_class: Concurrent::ImmediateExecutor )
|
152
|
+
http = device.http_client
|
153
|
+
|
154
|
+
expect( http.address ).to eq( 'logs.example.com' )
|
155
|
+
expect( http.port ).to eq( 12881 )
|
156
|
+
end
|
157
|
+
|
158
|
+
|
159
|
+
it "verifies the peer cert if sending to an HTTPS endpoint" do
|
160
|
+
device = described_class.new(
|
161
|
+
'https://logs.example.com:12881/v1/log_ingester',
|
162
|
+
executor_class: Concurrent::ImmediateExecutor )
|
163
|
+
http = device.http_client
|
164
|
+
|
165
|
+
expect( http.use_ssl? ).to be_truthy
|
166
|
+
expect( http.verify_mode ).to eq( OpenSSL::SSL::VERIFY_PEER )
|
167
|
+
end
|
168
|
+
|
148
169
|
end
|
data/spec/loggability_spec.rb
CHANGED
@@ -161,6 +161,12 @@ describe Loggability do
|
|
161
161
|
expect( Loggability[loghost].logdev.dev ).to be( $stdout )
|
162
162
|
end
|
163
163
|
|
164
|
+
it "can propagate an outputter with arguments to every loghost" do
|
165
|
+
Loggability.output_to( :http, 'http://localhost:12771/v1/logs' )
|
166
|
+
expect( Loggability[loghost].logdev ).to be_a( Loggability::LogDevice )
|
167
|
+
expect( Loggability[loghost].logdev.endpoint ).to eq( URI('http://localhost:12771/v1/logs') )
|
168
|
+
end
|
169
|
+
|
164
170
|
it "can propagate a formatter to every loghost" do
|
165
171
|
Loggability.format_with( :color )
|
166
172
|
expect( Loggability[loghost].formatter ).to be_a( Loggability::Formatter::Color )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loggability
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
jBZSA+N+xUTgUWpXjjwsLZjzJkhWATJWq+krNXcqpwXo6HsjmdUxoFMt63RBb+sI
|
35
35
|
XrxOxp8o0uOkU7FdLSGsyqJ2LzsR4obN
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2020-02-
|
37
|
+
date: 2020-02-27 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: rake-deveiate
|
metadata.gz.sig
CHANGED
Binary file
|