semantic_logger 4.0.0.beta1 → 4.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/semantic_logger/appender/elasticsearch.rb +4 -3
- data/lib/semantic_logger/appender/graylog.rb +1 -0
- data/lib/semantic_logger/appender/http.rb +3 -1
- data/lib/semantic_logger/base.rb +2 -2
- data/lib/semantic_logger/log.rb +1 -1
- data/lib/semantic_logger/semantic_logger.rb +1 -1
- data/lib/semantic_logger/version.rb +1 -1
- data/test/appender/elasticsearch_test.rb +1 -1
- data/test/measure_test.rb +3 -3
- 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: 3066e966beb70e220a27c8f45043eba84ce0a339
|
4
|
+
data.tar.gz: '08a10fa0381149833d7c39b2ae1d8d07c0ea2e4b'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ff7e40427736b675133b525f8da512c138c62194bb0225a01054b119ca83ab7d1352d7c6323e9da4a2edf94cbe27c1e98906bb6734dd0c1bcfa11d744b99f51
|
7
|
+
data.tar.gz: d58d10c056b3a73b3f1023eb3e3ce6548ef03171fe391e162aae7ab9effede30bdc995e0bca2b9496bb10cf61e6427d1fca42d7d59b990dc6edc191abd3a1d0c
|
@@ -49,20 +49,21 @@ class SemanticLogger::Appender::Elasticsearch < SemanticLogger::Appender::Http
|
|
49
49
|
@index = options.delete(:index) || 'semantic_logger'
|
50
50
|
@type = options.delete(:type) || 'log'
|
51
51
|
options[:url] ||= 'http://localhost:9200'
|
52
|
-
|
53
52
|
super(options, &block)
|
53
|
+
@request_path = "#{@path.end_with?('/') ? @path : "#{@path}/"}#{@index}-%Y.%m.%d"
|
54
|
+
@logging_path = "#{@request_path}/#{type}"
|
54
55
|
end
|
55
56
|
|
56
57
|
# Log to the index for today
|
57
58
|
def log(log)
|
58
59
|
return false unless should_log?(log)
|
59
60
|
|
60
|
-
post(formatter.call(log, self),
|
61
|
+
post(formatter.call(log, self), log.time.strftime(@logging_path))
|
61
62
|
end
|
62
63
|
|
63
64
|
# Deletes all log data captured for a day
|
64
65
|
def delete_all(date = Date.today)
|
65
|
-
|
66
|
+
delete(date.strftime(@request_path))
|
66
67
|
end
|
67
68
|
|
68
69
|
end
|
@@ -103,6 +103,7 @@ class SemanticLogger::Appender::Graylog < SemanticLogger::Subscriber
|
|
103
103
|
h[:timestamp] = log.time.utc.to_f
|
104
104
|
h[:level] = logger.map_level(log)
|
105
105
|
h[:level_str] = log.level.to_s
|
106
|
+
h[:duration_str] = h.delete(:duration)
|
106
107
|
h[:short_message] = h.delete(:message) if log.message
|
107
108
|
h
|
108
109
|
end
|
@@ -101,12 +101,14 @@ class SemanticLogger::Appender::Http < SemanticLogger::Subscriber
|
|
101
101
|
|
102
102
|
uri = URI.parse(@url)
|
103
103
|
@server = uri.host
|
104
|
-
raise(ArgumentError, "Invalid format for :url: #{@url.inspect}. Should be similar to: 'http://hostname:port/path'") unless @
|
104
|
+
raise(ArgumentError, "Invalid format for :url: #{@url.inspect}. Should be similar to: 'http://hostname:port/path'") unless @server
|
105
105
|
|
106
106
|
@port = uri.port
|
107
107
|
@username = uri.user if !@username && uri.user
|
108
108
|
@password = uri.password if !@password && uri.password
|
109
109
|
@path = uri.path
|
110
|
+
# Path cannot be empty
|
111
|
+
@path = '/' if @path == ''
|
110
112
|
|
111
113
|
if uri.scheme == 'https'
|
112
114
|
@ssl_options ||= {}
|
data/lib/semantic_logger/base.rb
CHANGED
@@ -175,9 +175,9 @@ module SemanticLogger
|
|
175
175
|
end
|
176
176
|
|
177
177
|
# :nodoc:
|
178
|
-
def with_payload(payload)
|
178
|
+
def with_payload(payload, &block)
|
179
179
|
warn '#with_payload is deprecated, use SemanticLogger.named_tagged'
|
180
|
-
SemanticLogger.named_tagged(payload)
|
180
|
+
SemanticLogger.named_tagged(payload, &block)
|
181
181
|
end
|
182
182
|
|
183
183
|
# :nodoc:
|
data/lib/semantic_logger/log.rb
CHANGED
@@ -67,7 +67,7 @@ module SemanticLogger
|
|
67
67
|
# Except if there is an exception when it will always be logged
|
68
68
|
if duration
|
69
69
|
self.duration = duration
|
70
|
-
return false if (duration
|
70
|
+
return false if (duration < min_duration) && exception.nil?
|
71
71
|
end
|
72
72
|
|
73
73
|
self.message = message
|
@@ -52,7 +52,7 @@ module SemanticLogger
|
|
52
52
|
# Returns [String] name of this host for logging purposes
|
53
53
|
# Note: Not all appenders use `host`
|
54
54
|
def self.host
|
55
|
-
@@host ||= Socket.gethostname
|
55
|
+
@@host ||= Socket.gethostname.force_encoding("UTF-8")
|
56
56
|
end
|
57
57
|
|
58
58
|
# Override the default host name
|
@@ -20,7 +20,7 @@ module Appender
|
|
20
20
|
@appender.stub(:post, -> json, ind { index = ind }) do
|
21
21
|
@appender.info @message
|
22
22
|
end
|
23
|
-
assert_equal "semantic_logger-#{Time.now.utc.strftime('%Y.%m.%d')}/log", index
|
23
|
+
assert_equal "/semantic_logger-#{Time.now.utc.strftime('%Y.%m.%d')}/log", index
|
24
24
|
end
|
25
25
|
|
26
26
|
SemanticLogger::LEVELS.each do |level|
|
data/test/measure_test.rb
CHANGED
@@ -44,7 +44,7 @@ class MeasureTest < Minitest::Test
|
|
44
44
|
|
45
45
|
describe ':min_duration' do
|
46
46
|
it 'not log when faster' do
|
47
|
-
assert_equal 'result', @logger.send(measure_level, 'hello world', min_duration:
|
47
|
+
assert_equal 'result', @logger.send(measure_level, 'hello world', min_duration: 1000) { 'result' } # Measure duration of the supplied block
|
48
48
|
SemanticLogger.flush
|
49
49
|
assert_nil @mock_logger.message
|
50
50
|
end
|
@@ -104,7 +104,7 @@ class MeasureTest < Minitest::Test
|
|
104
104
|
|
105
105
|
describe ':min_duration' do
|
106
106
|
it 'not log when faster' do
|
107
|
-
assert_equal 'result', @logger.measure(level, 'hello world', min_duration:
|
107
|
+
assert_equal 'result', @logger.measure(level, 'hello world', min_duration: 1000) { 'result' } # Measure duration of the supplied block
|
108
108
|
SemanticLogger.flush
|
109
109
|
assert_nil @mock_logger.message
|
110
110
|
end
|
@@ -156,7 +156,7 @@ class MeasureTest < Minitest::Test
|
|
156
156
|
|
157
157
|
describe ':min_duration' do
|
158
158
|
it 'not log when faster' do
|
159
|
-
assert_equal 'result', @logger.send(measure_level, message: 'hello world', min_duration:
|
159
|
+
assert_equal 'result', @logger.send(measure_level, message: 'hello world', min_duration: 1000) { 'result' } # Measure duration of the supplied block
|
160
160
|
SemanticLogger.flush
|
161
161
|
assert_nil @mock_logger.message
|
162
162
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: semantic_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|