stackify-api-ruby 1.3.0.beta1 → 2.1.0.beta1
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/.gitignore +7 -0
- data/Gemfile +2 -2
- data/lib/stackify/engine.rb +1 -1
- data/lib/stackify/logger_proxy.rb +7 -2
- data/lib/stackify/version.rb +1 -1
- data/spec/helpers/dummy_logger.rb +41 -0
- data/spec/helpers/dummy_logger_client.rb +4 -0
- data/spec/stackify/logger_proxy_spec.rb +52 -0
- data/stackify-api-ruby.gemspec +4 -4
- metadata +14 -11
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/Gemfile.lock +0 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5acc15c71cbae8bfd08633043e7b8c9f227110a2c15604e5463700d9f9c8a76f
|
4
|
+
data.tar.gz: 4d0b617fe087ac42b46bf412889c6c11314a449174fc347bfb34659eec3f1f05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e60cec0819d361a387d4e26bbd1758cacffe160e4efc34f6b8958b03c4c393a854495c1664caf507ea18ad75a65c7d6d7ca7de849e6d79413b2cf9f9d8f6cab4
|
7
|
+
data.tar.gz: 769e708ff7f6c97fc55ba15e3f57c65b2d4daddb9f2eda279d140d15b646740ac2556b22e5ddf4a879ea56cdcfd8b0d0c7fc666ca779d1f5c7d54084bbd9e8c3
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
group :test do
|
2
2
|
if ENV['STACKIFY_RUBY_TEST']
|
3
|
-
gem 'stackify-ruby-apm', '~> 1.
|
3
|
+
gem 'stackify-ruby-apm', '~> 1.17.0.beta1', source: ENV['STACKIFY_RUBY_TEST_REPO']
|
4
4
|
else
|
5
|
-
gem 'stackify-ruby-apm', '~> 1.
|
5
|
+
gem 'stackify-ruby-apm', '~> 1.17.0.beta1'
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
data/lib/stackify/engine.rb
CHANGED
@@ -3,7 +3,7 @@ module Stackify
|
|
3
3
|
class Engine < ::Rails::Engine
|
4
4
|
|
5
5
|
if Rails.version > '3.1'
|
6
|
-
initializer 'Stackify set up of logger', group: :all do
|
6
|
+
initializer 'Stackify set up of logger', after: :initialize_logger , group: :all do
|
7
7
|
if Gem::Version.new(Rails::VERSION::STRING) >= Gem::Version.new('4.0')
|
8
8
|
# check if the client app is using the ActiveSupport::Logger
|
9
9
|
is_activesupport_logger = ::Rails.logger.is_a?(ActiveSupport::Logger)
|
@@ -6,6 +6,7 @@ module Stackify
|
|
6
6
|
rails_logger = logger
|
7
7
|
num_level = logger.level
|
8
8
|
@logger = rails_logger
|
9
|
+
|
9
10
|
%w(debug info warn error fatal unknown).each do |level|
|
10
11
|
stackify_logger = if level == 'debug'
|
11
12
|
-> (msg, caller) { Stackify.logger_client.log(num_level, level.downcase, msg, caller) unless msg.to_s.empty? }
|
@@ -24,8 +25,12 @@ module Stackify
|
|
24
25
|
|
25
26
|
protected
|
26
27
|
|
27
|
-
def method_missing(name, *args, &block)
|
28
|
-
@logger.send(name, *args, &block)
|
28
|
+
def method_missing(name, *args, **kwargs, &block)
|
29
|
+
@logger.send(name, *args, **kwargs, &block)
|
30
|
+
end
|
31
|
+
|
32
|
+
def respond_to_missing?(*args, **kwargs, &block)
|
33
|
+
@logger.respond_to?(*args, **kwargs, &block)
|
29
34
|
end
|
30
35
|
|
31
36
|
private
|
data/lib/stackify/version.rb
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
class DummyLogger
|
2
|
+
attr_reader :logs
|
3
|
+
attr_accessor :level
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@logs = []
|
7
|
+
end
|
8
|
+
|
9
|
+
def debug(message)
|
10
|
+
log('debug', message)
|
11
|
+
end
|
12
|
+
|
13
|
+
def info(message)
|
14
|
+
log('info', message)
|
15
|
+
end
|
16
|
+
|
17
|
+
def warn(message)
|
18
|
+
log('warn', message)
|
19
|
+
end
|
20
|
+
|
21
|
+
def error(message)
|
22
|
+
log('error', message)
|
23
|
+
end
|
24
|
+
|
25
|
+
def fatal(message)
|
26
|
+
log('fatal', message)
|
27
|
+
end
|
28
|
+
|
29
|
+
def unknown(message)
|
30
|
+
log('unknown', message)
|
31
|
+
end
|
32
|
+
|
33
|
+
def broadcast_to(arg1, arg2)
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def log(level, message)
|
39
|
+
@logs << { level: level, message: message }
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'stackify-api-ruby'
|
2
|
+
require_relative '../helpers/dummy_logger'
|
3
|
+
require_relative '../helpers/dummy_logger_client'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
RSpec.describe ::Stackify::LoggerProxy do
|
7
|
+
let(:proxy_logger) { DummyLogger.new() }
|
8
|
+
let(:stackify_logger) { instance_double(DummyLoggerClient) }
|
9
|
+
|
10
|
+
before do
|
11
|
+
allow(stackify_logger).to receive(:log)
|
12
|
+
allow(::Stackify).to receive(:logger_client).and_return(stackify_logger)
|
13
|
+
allow(proxy_logger).to receive(:level).and_return(Logger::INFO)
|
14
|
+
end
|
15
|
+
|
16
|
+
subject { described_class.new(proxy_logger) }
|
17
|
+
|
18
|
+
describe '#initialize' do
|
19
|
+
it 'sets up the logger methods' do
|
20
|
+
expect(subject).to respond_to(:debug)
|
21
|
+
expect(subject).to respond_to(:info)
|
22
|
+
expect(subject).to respond_to(:warn)
|
23
|
+
expect(subject).to respond_to(:error)
|
24
|
+
expect(subject).to respond_to(:fatal)
|
25
|
+
expect(subject).to respond_to(:unknown)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'log forwarding' do
|
30
|
+
it 'forwards log calls to Stackify and original logger' do
|
31
|
+
message = 'Test log message'
|
32
|
+
|
33
|
+
expect(Stackify.logger_client).to receive(:log).with(Logger::INFO, 'debug', message, any_args).once
|
34
|
+
expect(proxy_logger).to receive(:debug).with(message).once
|
35
|
+
|
36
|
+
subject.debug(message)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Add more test cases for other log levels and scenarios
|
41
|
+
describe 'method_missing and respond_to_missing?' do
|
42
|
+
it 'forwards undefined methods to the original logger' do
|
43
|
+
# since broadcast_to is available only on the DummyLogger
|
44
|
+
expect(proxy_logger).to receive(:broadcast_to).with('arg1', 'arg2').once
|
45
|
+
subject.broadcast_to('arg1', 'arg2')
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'correctly responds to defined and undefined methods' do
|
49
|
+
expect(subject).to respond_to(:broadcast_to)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/stackify-api-ruby.gemspec
CHANGED
@@ -12,18 +12,18 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = 'Stackify Logs and Metrics API for Ruby'
|
13
13
|
spec.homepage = 'http://www.stackify.com/'
|
14
14
|
spec.license = 'Apache-2.0'
|
15
|
-
spec.required_ruby_version = '>=
|
15
|
+
spec.required_ruby_version = '>= 2.0'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
18
18
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_development_dependency 'bundler', '~>
|
23
|
-
spec.add_development_dependency 'rake', '~> 0'
|
22
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
25
|
|
26
|
-
if RUBY_PLATFORM
|
26
|
+
if RUBY_PLATFORM =~ /mingw32|win32|x64/
|
27
27
|
spec.add_development_dependency 'tzinfo-data'
|
28
28
|
end
|
29
29
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackify-api-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 2.1.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stackify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,10 +88,7 @@ extensions: []
|
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
|
-
- ".ruby-gemset"
|
92
|
-
- ".ruby-version"
|
93
91
|
- Gemfile
|
94
|
-
- Gemfile.lock
|
95
92
|
- README.md
|
96
93
|
- Rakefile
|
97
94
|
- lib/core_ext/core_ext.rb
|
@@ -139,8 +136,11 @@ files:
|
|
139
136
|
- lib/stackify/workers/logs_sender_worker.rb
|
140
137
|
- lib/stackify/workers/msgs_queue_worker.rb
|
141
138
|
- lib/stackify/workers/worker.rb
|
139
|
+
- spec/helpers/dummy_logger.rb
|
140
|
+
- spec/helpers/dummy_logger_client.rb
|
142
141
|
- spec/rum_spec.rb
|
143
142
|
- spec/spec_helper.rb
|
143
|
+
- spec/stackify/logger_proxy_spec.rb
|
144
144
|
- stackify-api-ruby.gemspec
|
145
145
|
homepage: http://www.stackify.com/
|
146
146
|
licenses:
|
@@ -154,17 +154,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
154
154
|
requirements:
|
155
155
|
- - ">="
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version: '
|
157
|
+
version: '2.0'
|
158
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
160
|
- - ">"
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: 1.3.1
|
163
163
|
requirements: []
|
164
|
-
rubygems_version: 3.
|
164
|
+
rubygems_version: 3.4.10
|
165
165
|
signing_key:
|
166
166
|
specification_version: 4
|
167
167
|
summary: Stackify API for Ruby
|
168
168
|
test_files:
|
169
|
+
- spec/helpers/dummy_logger.rb
|
170
|
+
- spec/helpers/dummy_logger_client.rb
|
169
171
|
- spec/rum_spec.rb
|
170
172
|
- spec/spec_helper.rb
|
173
|
+
- spec/stackify/logger_proxy_spec.rb
|
data/.ruby-gemset
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
stackify-api-ruby
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby-2.1.2
|
data/Gemfile.lock
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
stackify-api-ruby (1.3.0.beta1)
|
5
|
-
faraday (~> 0.8)
|
6
|
-
net_http_unix (~> 0.2)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
concurrent-ruby (1.1.9)
|
12
|
-
diff-lcs (1.4.4)
|
13
|
-
et-orbi (1.2.4)
|
14
|
-
tzinfo
|
15
|
-
faraday (0.17.4)
|
16
|
-
multipart-post (>= 1.2, < 3)
|
17
|
-
fugit (1.5.0)
|
18
|
-
et-orbi (~> 1.1, >= 1.1.8)
|
19
|
-
raabro (~> 1.4)
|
20
|
-
multipart-post (2.1.1)
|
21
|
-
net_http_unix (0.2.2)
|
22
|
-
raabro (1.4.0)
|
23
|
-
rake (0.9.6)
|
24
|
-
rspec (3.10.0)
|
25
|
-
rspec-core (~> 3.10.0)
|
26
|
-
rspec-expectations (~> 3.10.0)
|
27
|
-
rspec-mocks (~> 3.10.0)
|
28
|
-
rspec-core (3.10.1)
|
29
|
-
rspec-support (~> 3.10.0)
|
30
|
-
rspec-expectations (3.10.1)
|
31
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
32
|
-
rspec-support (~> 3.10.0)
|
33
|
-
rspec-mocks (3.10.2)
|
34
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
35
|
-
rspec-support (~> 3.10.0)
|
36
|
-
rspec-support (3.10.2)
|
37
|
-
rufus-scheduler (3.8.0)
|
38
|
-
fugit (~> 1.1, >= 1.1.6)
|
39
|
-
stackify-ruby-apm (1.15.1)
|
40
|
-
concurrent-ruby (~> 1.0)
|
41
|
-
faraday (~> 0.8)
|
42
|
-
net_http_unix (~> 0.2)
|
43
|
-
rufus-scheduler (~> 3.0)
|
44
|
-
tzinfo (2.0.4)
|
45
|
-
concurrent-ruby (~> 1.0)
|
46
|
-
tzinfo-data (1.2021.1)
|
47
|
-
tzinfo (>= 1.0.0)
|
48
|
-
|
49
|
-
PLATFORMS
|
50
|
-
ruby
|
51
|
-
x86-mingw32
|
52
|
-
|
53
|
-
DEPENDENCIES
|
54
|
-
bundler (~> 1.6)
|
55
|
-
rake (~> 0)
|
56
|
-
rspec (~> 3.0)
|
57
|
-
stackify-api-ruby!
|
58
|
-
stackify-ruby-apm (~> 1.15)
|
59
|
-
tzinfo-data
|
60
|
-
|
61
|
-
BUNDLED WITH
|
62
|
-
1.17.13
|