loggun 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/lib/loggun/config.rb +13 -0
- data/lib/loggun/formatter.rb +12 -1
- data/lib/loggun/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a78f3c782857269e283aa2f00ef6f5a2002e57c1e0d2fe5d43284a54d5aa106
|
4
|
+
data.tar.gz: fb9d8dad64af86d1f43c510dc34c1fd3acb9a515441315973ab0a5b72d493099
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0d93bbbe8ed26b5c5decc4d88c16876d4db185d5ae415b07fb47a23848149183e56fb0be6128f8c321410d205d19778228888f9cdb7ce57414ba29c380f22db
|
7
|
+
data.tar.gz: '08d78b02426b5b3da9a31b90bf3715c9728de0eaeb40ed9d5b55ccfeab76c3e241146fcdaa9f052b11ee233a40fdb07e68be5f33ff4a104467cbd08b959fe07a'
|
data/README.md
CHANGED
@@ -49,6 +49,7 @@ Loggun::Config.configure do |config|
|
|
49
49
|
config.precision = :milliseconds
|
50
50
|
config.pattern = '%{time} - %{pid} %{severity} %{type} %{tags_text} %{message}'
|
51
51
|
config.parent_transaction_to_message = false
|
52
|
+
config.message_format = :json
|
52
53
|
|
53
54
|
config.modifiers.rails = true
|
54
55
|
config.modifiers.sidekiq = false
|
@@ -64,6 +65,9 @@ end
|
|
64
65
|
Доступные ключи: `time`, `pid`, `severity`, `type`, `tags_text`, `message`, `parent_transaction`
|
65
66
|
- `parent_transaction_to_message` - признак необходимости добавлять значение `parent_transaction` в тело логируемого сообщения.
|
66
67
|
Вне зависимости от данной настройки можно использовать ключ `parent_transaction` в шаблоне `pattern`.
|
68
|
+
- `message_format` - формат переменной message в шаблоне pattern. Доступны два формата:
|
69
|
+
- `:json` - `message` логгируется как json строка
|
70
|
+
- `:key_value` - `message` логгируется в формате `key1=value1 key2=value2`
|
67
71
|
- `modifiers` - модификаторы для переопределения формата логирования указанного компонента. См. далее.
|
68
72
|
|
69
73
|
#### Модификаторы
|
data/lib/loggun/config.rb
CHANGED
@@ -8,6 +8,7 @@ module Loggun
|
|
8
8
|
DEFAULTS = {
|
9
9
|
pattern: '%{time} - %{pid} %{severity} %{type} %{tags_text} %{message}',
|
10
10
|
parent_transaction_to_message: true,
|
11
|
+
message_format: :json,
|
11
12
|
precision: :milliseconds,
|
12
13
|
incoming_http: {
|
13
14
|
controllers: %w[ApplicationController],
|
@@ -20,11 +21,13 @@ module Loggun
|
|
20
21
|
}
|
21
22
|
}.freeze
|
22
23
|
DEFAULT_MODIFIERS = %i[rails active_record sidekiq clockwork outgoing_http].freeze
|
24
|
+
MESSAGE_FORMATS = %i[json key_value].freeze
|
23
25
|
|
24
26
|
attr_accessor(
|
25
27
|
:formatter,
|
26
28
|
:pattern,
|
27
29
|
:parent_transaction_to_message,
|
30
|
+
:message_format,
|
28
31
|
:precision,
|
29
32
|
:modifiers,
|
30
33
|
:custom_modifiers
|
@@ -35,6 +38,7 @@ module Loggun
|
|
35
38
|
@precision = DEFAULTS[:precision]
|
36
39
|
@pattern = DEFAULTS[:pattern]
|
37
40
|
@parent_transaction_to_message = DEFAULTS[:parent_transaction_to_message]
|
41
|
+
@message_format = DEFAULTS[:message_format]
|
38
42
|
@modifiers = Loggun::OrderedOptions.new
|
39
43
|
@custom_modifiers = []
|
40
44
|
set_default_modifiers
|
@@ -44,6 +48,7 @@ module Loggun
|
|
44
48
|
def configure(&block)
|
45
49
|
block.call(instance)
|
46
50
|
use_modifiers
|
51
|
+
check_config
|
47
52
|
instance
|
48
53
|
end
|
49
54
|
|
@@ -59,6 +64,12 @@ module Loggun
|
|
59
64
|
instance.custom_modifiers.each(&:use)
|
60
65
|
end
|
61
66
|
|
67
|
+
def check_config
|
68
|
+
return if MESSAGE_FORMATS.include? instance.message_format
|
69
|
+
|
70
|
+
raise FailureConfiguration, 'Unknown value for message_format'
|
71
|
+
end
|
72
|
+
|
62
73
|
def setup_formatter(app, formatter = nil)
|
63
74
|
Loggun.logger = app.logger
|
64
75
|
Loggun.logger.formatter = formatter || instance.formatter
|
@@ -91,5 +102,7 @@ module Loggun
|
|
91
102
|
3 # milliseconds
|
92
103
|
end
|
93
104
|
end
|
105
|
+
|
106
|
+
class FailureConfiguration < StandardError; end
|
94
107
|
end
|
95
108
|
end
|
data/lib/loggun/formatter.rb
CHANGED
@@ -14,7 +14,7 @@ module Loggun
|
|
14
14
|
if config.parent_transaction_to_message && parent_transaction
|
15
15
|
message[:parent_transaction] = parent_transaction
|
16
16
|
end
|
17
|
-
message =
|
17
|
+
message = format_message(message)
|
18
18
|
end
|
19
19
|
|
20
20
|
data[:message] = message.to_s.tr("\r\n", ' ').strip
|
@@ -78,5 +78,16 @@ module Loggun
|
|
78
78
|
def config
|
79
79
|
Loggun::Config.instance
|
80
80
|
end
|
81
|
+
|
82
|
+
def format_message(message)
|
83
|
+
if config.message_format == :json
|
84
|
+
JSON.generate(message)
|
85
|
+
elsif config.message_format == :key_value
|
86
|
+
message.map { |key, value| "#{key}=#{value}" }.join(' ')
|
87
|
+
else
|
88
|
+
warn('Unknown value for message_format')
|
89
|
+
JSON.generate(message)
|
90
|
+
end
|
91
|
+
end
|
81
92
|
end
|
82
93
|
end
|
data/lib/loggun/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loggun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksandr Noskov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-06-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|