ridley 2.0.0 → 2.1.0
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/ridley.rb +1 -0
- data/lib/ridley/logger.rb +66 -0
- data/lib/ridley/logging.rb +2 -3
- data/lib/ridley/version.rb +1 -1
- data/spec/unit/ridley/logger_spec.rb +79 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3440ef439aff4fca73a0bb7943c5883b73d4ee6a
|
4
|
+
data.tar.gz: d1f414b2cb9a4f5210f59068bcde449f369013b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe0cdd7ea95cd9a6d6357c9242d1d73300de0777291499f9f61ce254fe1fa914c506a1be30065e8738a52bc8209bc6e5859975fdcf3c59ea0411642263f4dc0f
|
7
|
+
data.tar.gz: a67ccd75c7ff3006a70acd1d93154aab3de632c9a01464749a19d973ade48f2292704f481c08de7e93d603b23aa2c7e912afa083e99762f767bfa9399fa383b7
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 2.1.0
|
2
|
+
|
3
|
+
* [#228](https://github.com/RiotGames/ridley/pull/228) Add a new API for filtering log output. Useful for output you might not want to display because it is sensitive.
|
4
|
+
|
1
5
|
# 2.0.0
|
2
6
|
|
3
7
|
* [#227](https://github.com/RiotGames/ridley/pull/227) HostCommander and HostConnector code has been moved into its own gem - [found here](https://github.com/RiotGames/ridley-connectors)
|
data/lib/ridley.rb
CHANGED
@@ -0,0 +1,66 @@
|
|
1
|
+
module Ridley
|
2
|
+
module Logging
|
3
|
+
class Logger < Logger
|
4
|
+
def initialize(device = STDOUT)
|
5
|
+
super
|
6
|
+
self.level = Logger::WARN
|
7
|
+
@filter_params = Array.new
|
8
|
+
end
|
9
|
+
|
10
|
+
# Reimplements Logger#add adding message filtering. The info,
|
11
|
+
# warn, debug, error, and fatal methods all call add.
|
12
|
+
#
|
13
|
+
# @param [Fixnum] severity
|
14
|
+
# an integer measuing the severity - Logger::INFO, etc.
|
15
|
+
# @param [String] message = nil
|
16
|
+
# the message to log
|
17
|
+
# @param [String] progname = nil
|
18
|
+
# the program name performing the logging
|
19
|
+
# @param &block
|
20
|
+
# a block that will be evaluated (for complicated logging)
|
21
|
+
#
|
22
|
+
# @example
|
23
|
+
# log.filter_param("hello")
|
24
|
+
# log.info("hello world!") => "FILTERED world!"
|
25
|
+
#
|
26
|
+
# @return [Boolean]
|
27
|
+
def add(severity, message = nil, progname = nil, &block)
|
28
|
+
severity ||= Logger::UNKNOWN
|
29
|
+
if @logdev.nil? or severity < @level
|
30
|
+
return true
|
31
|
+
end
|
32
|
+
progname ||= @progname
|
33
|
+
if message.nil?
|
34
|
+
if block_given?
|
35
|
+
message = yield
|
36
|
+
else
|
37
|
+
message = progname
|
38
|
+
progname = @progname
|
39
|
+
end
|
40
|
+
end
|
41
|
+
@logdev.write(
|
42
|
+
format_message(format_severity(severity), Time.now, progname, filter(message)))
|
43
|
+
true
|
44
|
+
end
|
45
|
+
|
46
|
+
def filter_params
|
47
|
+
@filter_params.dup
|
48
|
+
end
|
49
|
+
|
50
|
+
def filter_param(param)
|
51
|
+
@filter_params << param unless filter_params.include?(param)
|
52
|
+
end
|
53
|
+
|
54
|
+
def clear_filter_params
|
55
|
+
@filter_params.clear
|
56
|
+
end
|
57
|
+
|
58
|
+
def filter(message)
|
59
|
+
filter_params.each do |param|
|
60
|
+
message.gsub!(param.to_s, 'FILTERED')
|
61
|
+
end
|
62
|
+
message
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/ridley/logging.rb
CHANGED
data/lib/ridley/version.rb
CHANGED
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ridley::Logging::Logger do
|
4
|
+
subject { described_class.new("/dev/null") }
|
5
|
+
let(:message) { "my message" }
|
6
|
+
let(:filtered_param) { "message" }
|
7
|
+
|
8
|
+
describe "::initialize" do
|
9
|
+
it "defaults to info" do
|
10
|
+
expect(subject.level).to eq(Logger::WARN)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#info" do
|
15
|
+
|
16
|
+
before do
|
17
|
+
subject.level = Logger::INFO
|
18
|
+
subject.filter_param filtered_param
|
19
|
+
end
|
20
|
+
|
21
|
+
it "supports filtering" do
|
22
|
+
expect(subject).to receive(:filter).with("my message").and_return("my FILTERED")
|
23
|
+
subject.info message
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#filter_params" do
|
28
|
+
it "returns an array" do
|
29
|
+
expect(subject.filter_params).to be_a(Array)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#filter_param" do
|
34
|
+
let(:param) { "hello" }
|
35
|
+
|
36
|
+
before do
|
37
|
+
subject.clear_filter_params
|
38
|
+
end
|
39
|
+
|
40
|
+
it "adds an element to the array" do
|
41
|
+
subject.filter_param(param)
|
42
|
+
expect(subject.filter_params).to include(param)
|
43
|
+
expect(subject.filter_params.size).to eq(1)
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when the element is already in the array" do
|
47
|
+
|
48
|
+
before do
|
49
|
+
subject.filter_param(param)
|
50
|
+
end
|
51
|
+
it "does not duplicate the element" do
|
52
|
+
subject.filter_param(param)
|
53
|
+
expect(subject.filter_params.size).to eq(1)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "#filter" do
|
59
|
+
|
60
|
+
before do
|
61
|
+
subject.filter_param(filtered_param)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "replaces entries in filter_params" do
|
65
|
+
expect(subject.filter(message)).to eq("my FILTERED")
|
66
|
+
end
|
67
|
+
|
68
|
+
context "when there are multiple filter_params" do
|
69
|
+
before do
|
70
|
+
subject.filter_param("fake param")
|
71
|
+
subject.filter_param(filtered_param)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "replaces only matching filter_params" do
|
75
|
+
expect(subject.filter(message)).to eq("my FILTERED")
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ridley
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamie Winsor
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -295,6 +295,7 @@ files:
|
|
295
295
|
- lib/ridley/command_context/windows_uninstall.rb
|
296
296
|
- lib/ridley/connection.rb
|
297
297
|
- lib/ridley/errors.rb
|
298
|
+
- lib/ridley/logger.rb
|
298
299
|
- lib/ridley/logging.rb
|
299
300
|
- lib/ridley/middleware.rb
|
300
301
|
- lib/ridley/middleware/chef_auth.rb
|
@@ -378,6 +379,7 @@ files:
|
|
378
379
|
- spec/unit/ridley/client_spec.rb
|
379
380
|
- spec/unit/ridley/connection_spec.rb
|
380
381
|
- spec/unit/ridley/errors_spec.rb
|
382
|
+
- spec/unit/ridley/logger_spec.rb
|
381
383
|
- spec/unit/ridley/middleware/chef_auth_spec.rb
|
382
384
|
- spec/unit/ridley/middleware/chef_response_spec.rb
|
383
385
|
- spec/unit/ridley/middleware/gzip_spec.rb
|
@@ -474,6 +476,7 @@ test_files:
|
|
474
476
|
- spec/unit/ridley/client_spec.rb
|
475
477
|
- spec/unit/ridley/connection_spec.rb
|
476
478
|
- spec/unit/ridley/errors_spec.rb
|
479
|
+
- spec/unit/ridley/logger_spec.rb
|
477
480
|
- spec/unit/ridley/middleware/chef_auth_spec.rb
|
478
481
|
- spec/unit/ridley/middleware/chef_response_spec.rb
|
479
482
|
- spec/unit/ridley/middleware/gzip_spec.rb
|