logasm 0.7.0 → 0.8.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/lib/logasm/utils.rb +17 -1
- data/logasm.gemspec +1 -1
- data/spec/adapters/rabbitmq_adapter_spec.rb +3 -3
- data/spec/preprocessors/whitelist_spec.rb +1 -1
- data/spec/utils_spec.rb +8 -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: 8a3b4cdf873d8b5fb737dda3641fbe20c0d34b8a
|
4
|
+
data.tar.gz: a08c2488400e76df30a3a7eb1211d13d538f41ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5630b79f07f88556af1b1d6c665e80b498a2d6c13cef60932ef67920b9ccae4bc5f1c00c72dd9d0f03c23b4646f822c0a85b3f8dd9c233f74c029c0f6fcdec0f
|
7
|
+
data.tar.gz: f93e2611e11da4bcc13e7b28e9d4b5fccb259c39701ee8394cd53c40b338709ba3e9f8fd7577772b88bcf700475086f8dae45ebbdd21f55381570e69cf90155a
|
data/lib/logasm/utils.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'socket'
|
2
|
+
require 'time'
|
2
3
|
|
3
4
|
class Logasm
|
4
5
|
module Utils
|
@@ -14,7 +15,7 @@ class Logasm
|
|
14
15
|
# @return [Hash]
|
15
16
|
def self.build_event(metadata, level, service_name)
|
16
17
|
overwritable_params
|
17
|
-
.merge(metadata)
|
18
|
+
.merge(serialize_time_objects(metadata))
|
18
19
|
.merge(
|
19
20
|
application: application_name(service_name),
|
20
21
|
level: level.to_s.downcase
|
@@ -39,6 +40,21 @@ class Logasm
|
|
39
40
|
host: HOST
|
40
41
|
}
|
41
42
|
end
|
43
|
+
|
44
|
+
def self.serialize_time_objects(object)
|
45
|
+
if object.is_a?(Hash)
|
46
|
+
object.reduce({}) do |hash, (key, value)|
|
47
|
+
hash.merge(key => serialize_time_objects(value))
|
48
|
+
end
|
49
|
+
elsif object.is_a?(Array)
|
50
|
+
object.map(&method(:serialize_time_objects))
|
51
|
+
elsif object.is_a?(Time) || object.is_a?(Date)
|
52
|
+
object.iso8601
|
53
|
+
else
|
54
|
+
object
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
42
58
|
private_class_method :overwritable_params
|
43
59
|
end
|
44
60
|
end
|
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.
|
7
|
+
gem.version = '0.8.0'
|
8
8
|
gem.authors = ["Salemove"]
|
9
9
|
gem.email = ["support@salemove.com"]
|
10
10
|
gem.description = %q{It's logasmic}
|
@@ -19,11 +19,11 @@ describe Logasm::Adapters::RabbitmqAdapter do
|
|
19
19
|
context 'when logging a message' do
|
20
20
|
let(:log_level) { 0 }
|
21
21
|
|
22
|
-
it 'delegates to
|
22
|
+
it 'delegates to bunny' do
|
23
23
|
adapter.log :info, message: 'test'
|
24
24
|
|
25
25
|
expect(exchange).to have_received(:publish).with(
|
26
|
-
match(/{"@timestamp":"\d{4}-\d{2}-\d{2}T.*","host":"
|
26
|
+
match(/{"@timestamp":"\d{4}-\d{2}-\d{2}T.*","host":".+","message":"test","application":"test_service","level":"info"}/),
|
27
27
|
{ content_type: 'application/json', routing_key: 'logstash-queue' }
|
28
28
|
)
|
29
29
|
end
|
@@ -32,7 +32,7 @@ describe Logasm::Adapters::RabbitmqAdapter do
|
|
32
32
|
context 'when log level is lower than threshold' do
|
33
33
|
let(:log_level) { 3 }
|
34
34
|
|
35
|
-
it 'does not delegate to
|
35
|
+
it 'does not delegate to bunny' do
|
36
36
|
adapter.log :info, message: 'test', a: 'b'
|
37
37
|
|
38
38
|
expect(exchange).to_not have_received(:publish)
|
@@ -83,7 +83,7 @@ describe Logasm::Preprocessors::Whitelist do
|
|
83
83
|
|
84
84
|
it 'does not include nested elements' do
|
85
85
|
source = {foo: {bar: {baz: 'asd'}}}
|
86
|
-
target = {foo: {bar: {baz: '
|
86
|
+
target = {foo: {bar: {baz: '*****'}}}
|
87
87
|
expect(process(['/foo/~'], source)).to eq(target)
|
88
88
|
end
|
89
89
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -55,5 +55,13 @@ describe Logasm::Utils do
|
|
55
55
|
expect(subject[:host]).to eq('xyz')
|
56
56
|
end
|
57
57
|
end
|
58
|
+
|
59
|
+
context 'when time object in metadata' do
|
60
|
+
let(:metadata) { {time: Time.utc(2016, 1, 5, 10, 38)} }
|
61
|
+
|
62
|
+
it 'serializes as iso8601 format' do
|
63
|
+
expect(subject[:time]).to eq("2016-01-05T10:38:00Z")
|
64
|
+
end
|
65
|
+
end
|
58
66
|
end
|
59
67
|
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.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Salemove
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inflecto
|