logasm 0.2.5 → 0.2.6
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/Gemfile.lock +1 -1
- data/lib/logasm.rb +8 -0
- data/lib/logasm/adapters/logstash_adapter.rb +4 -0
- data/lib/logasm/adapters/rabbitmq_adapter.rb +20 -0
- data/lib/logasm/adapters/stdout_adapter.rb +6 -0
- data/logasm.gemspec +1 -1
- data/spec/logasm_spec.rb +40 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c37a9355e4d9426215d500f6fdb50a22954c2e4
|
4
|
+
data.tar.gz: 58289a6f19d649b8c405638428a43938ca586132
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6712eee9ed98800f0be30370509848b0c8a70b587e278fd63c7e742d5949aa0c3703b70cb17bc2c8a5d9d3cb02ab7e548c1d9a06c65a5f31711d3628edb55f7e
|
7
|
+
data.tar.gz: e60591d1432b92075757b0fb76acbd7613f3f46fb6ec60af58bb2bd0e54331a90f73e301b3338f8f3667f4feabc547821a8bbf99c613aac288f6193e4309cbff
|
data/Gemfile.lock
CHANGED
data/lib/logasm.rb
CHANGED
@@ -5,6 +5,8 @@ require_relative 'logasm/adapters'
|
|
5
5
|
require_relative 'logasm/utils'
|
6
6
|
require_relative 'logasm/null_logger'
|
7
7
|
|
8
|
+
LOG_LEVEL_QUERY_METHODS = [:debug?, :info?, :warn?, :error?, :fatal?]
|
9
|
+
|
8
10
|
class Logasm
|
9
11
|
def self.build(service_name, loggers_config)
|
10
12
|
loggers_config ||= {stdout: nil}
|
@@ -38,6 +40,12 @@ class Logasm
|
|
38
40
|
log :fatal, *args
|
39
41
|
end
|
40
42
|
|
43
|
+
LOG_LEVEL_QUERY_METHODS.each do |method|
|
44
|
+
define_method(method) do
|
45
|
+
@adapters.any? {|adapter| adapter.public_send(method) }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
41
49
|
private
|
42
50
|
|
43
51
|
def log(level, *args)
|
@@ -1,11 +1,15 @@
|
|
1
1
|
require 'socket'
|
2
2
|
require_relative 'logstash_adapter/formatter'
|
3
|
+
require 'forwardable'
|
3
4
|
|
4
5
|
class Logasm
|
5
6
|
module Adapters
|
6
7
|
class LogstashAdapter
|
8
|
+
extend Forwardable
|
7
9
|
attr_reader :logger
|
8
10
|
|
11
|
+
def_delegators :@logger, :debug?, :info?, :warn?, :error?, :fatal?
|
12
|
+
|
9
13
|
def initialize(level, service, arguments = {})
|
10
14
|
host = arguments.fetch(:host)
|
11
15
|
port = arguments.fetch(:port)
|
@@ -30,6 +30,26 @@ class Logasm
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
def debug?
|
34
|
+
meets_threshold?(:debug)
|
35
|
+
end
|
36
|
+
|
37
|
+
def info?
|
38
|
+
meets_threshold?(:info)
|
39
|
+
end
|
40
|
+
|
41
|
+
def warn?
|
42
|
+
meets_threshold?(:warn)
|
43
|
+
end
|
44
|
+
|
45
|
+
def error?
|
46
|
+
meets_threshold?(:error)
|
47
|
+
end
|
48
|
+
|
49
|
+
def fatal?
|
50
|
+
meets_threshold?(:fatal)
|
51
|
+
end
|
52
|
+
|
33
53
|
private
|
34
54
|
|
35
55
|
def meets_threshold?(level)
|
@@ -1,8 +1,14 @@
|
|
1
|
+
require 'forwardable'
|
2
|
+
|
1
3
|
class Logasm
|
2
4
|
module Adapters
|
3
5
|
class StdoutAdapter
|
6
|
+
extend Forwardable
|
7
|
+
|
4
8
|
attr_reader :logger
|
5
9
|
|
10
|
+
def_delegators :@logger, :debug?, :info?, :warn?, :error?, :fatal?
|
11
|
+
|
6
12
|
def initialize(level, *)
|
7
13
|
@logger = Logger.new(STDOUT)
|
8
14
|
@logger.level = level
|
data/logasm.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "logasm"
|
7
|
-
gem.version = '0.2.
|
7
|
+
gem.version = '0.2.6'
|
8
8
|
gem.authors = ["Salemove"]
|
9
9
|
gem.email = ["support@salemove.com"]
|
10
10
|
gem.description = %q{It's logasmic}
|
data/spec/logasm_spec.rb
CHANGED
@@ -74,4 +74,44 @@ describe Logasm do
|
|
74
74
|
logasm.info 'test message', test: 'data'
|
75
75
|
end
|
76
76
|
end
|
77
|
+
|
78
|
+
context 'log level queries' do
|
79
|
+
context 'when one adapter has debug level' do
|
80
|
+
let(:logger) do
|
81
|
+
described_class.build(
|
82
|
+
'test_service',
|
83
|
+
stdout: {level: 'debug'},
|
84
|
+
logstash: {level: 'info', host: '127.0.0.1', port: 5228 },
|
85
|
+
rabbitmq: {level: 'fatal'},
|
86
|
+
)
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'responds true to debug? and higher levels' do
|
90
|
+
expect(logger.debug?).to be(true)
|
91
|
+
expect(logger.info?).to be(true)
|
92
|
+
expect(logger.warn?).to be(true)
|
93
|
+
expect(logger.error?).to be(true)
|
94
|
+
expect(logger.fatal?).to be(true)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
context 'when one adapter has info level' do
|
99
|
+
let(:logger) do
|
100
|
+
described_class.build(
|
101
|
+
'test_service',
|
102
|
+
rabbitmq: {level: 'info'},
|
103
|
+
stdout: {level: 'warn'},
|
104
|
+
logstash: {level: 'warn', host: '127.0.0.1', port: 5228 },
|
105
|
+
)
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'responds true to info? and higher levels' do
|
109
|
+
expect(logger.debug?).to be(false)
|
110
|
+
expect(logger.info?).to be(true)
|
111
|
+
expect(logger.warn?).to be(true)
|
112
|
+
expect(logger.error?).to be(true)
|
113
|
+
expect(logger.fatal?).to be(true)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
77
117
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logasm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Salemove
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inflecto
|