ougai 1.8.5 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d04627a9810f76be4d299992b3a2eca66eb66d7d168083962ee3b4a554546d50
4
- data.tar.gz: '089ed84f7e5c8aabd201a82a914dfb0d7d8182b88a3646bb2143060d212544b9'
3
+ metadata.gz: eedebaea46d0f9d0d03d575e527f2499a2d483e839915c8bbe412de268cd26db
4
+ data.tar.gz: 284223f62d6bd3e1a472a076297f66581bbf718fa5bb0e6cd6bef3515a5ef242
5
5
  SHA512:
6
- metadata.gz: cfab00111705a26b41ccdbb2888c556902a9b1acda511d191b57ed675a2a835b13b13b79cfff4fe439fefd446f2fa00da93884a36ced0cba8a2e52c3d4e1169d
7
- data.tar.gz: 07edc5901a52a5764b98cb8fdbf504913d0b63a32b6d8d631b0cc73cd079f8ff1e492f0fd98e4d177e9e4fae8656bf46d0476abc167515240176bef8e7df2023
6
+ metadata.gz: cc3c4a339f6fbea07ddfb4e75c96f101295da12d73112efaea997217382557c69ac7f130bd26693ecf880c73c65dc07e369dcc9e9b2105ff588cec018a7812bc
7
+ data.tar.gz: abd28e5dc00a61cac547ac8492f272c2d58c75363b3694b9d4334078549d482c4075b9b3f1463486c54c647e427dd33788185b4d11f75bb6abdc6bf9e8bc2a40
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ougai (1.8.5)
4
+ ougai (1.9.1)
5
5
  oj (~> 3.10)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -2,7 +2,7 @@ Ougai
2
2
  =====
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/ougai.svg)](https://badge.fury.io/rb/ougai)
5
- [![document](https://img.shields.io/badge/document-1.8.3-green.svg)](http://www.rubydoc.info/gems/ougai/)
5
+ [![document](https://img.shields.io/badge/document-1.9.1-green.svg)](http://www.rubydoc.info/gems/ougai/)
6
6
  [![Build Status](https://travis-ci.org/tilfin/ougai.svg?branch=master)](https://travis-ci.org/tilfin/ougai)
7
7
  [![Code Climate](https://codeclimate.com/github/tilfin/ougai/badges/gpa.svg)](https://codeclimate.com/github/tilfin/ougai)
8
8
  [![Test Coverage](https://codeclimate.com/github/tilfin/ougai/badges/coverage.svg)](https://codeclimate.com/github/tilfin/ougai/coverage)
data/lib/ougai/logger.rb CHANGED
@@ -7,6 +7,7 @@ module Ougai
7
7
  # @attr [Hash] with_fields The fields appending to all logs.
8
8
  # @attr [Proc] before_log Hook before logging.
9
9
  class Logger < ::Logger
10
+ alias_method :super_add, :add
10
11
  include Logging
11
12
 
12
13
  attr_accessor :default_message, :exc_key
@@ -38,9 +39,9 @@ module Ougai
38
39
  # @param logger [Logger] The logger receiving broadcast logs.
39
40
  def self.broadcast(logger)
40
41
  Module.new do |mdl|
41
- define_method(:log) do |*args|
42
- logger.log(*args)
43
- super(*args)
42
+ define_method(:_log) do |*args, &block|
43
+ logger._log(*args, &block)
44
+ super(*args, &block)
44
45
  end
45
46
 
46
47
  define_method(:level=) do |level|
@@ -111,7 +112,7 @@ module Ougai
111
112
  hooks.each do |hook|
112
113
  return false if hook.call(data) == false
113
114
  end
114
- add(severity, data)
115
+ super_add(severity, data)
115
116
  end
116
117
 
117
118
  def to_item(args)
data/lib/ougai/logging.rb CHANGED
@@ -28,7 +28,7 @@ module Ougai
28
28
  # @return [Boolean] true
29
29
  # @see Logging#debug
30
30
  def trace(message = nil, ex = nil, data = nil, &block)
31
- log(TRACE, message, ex, data, block)
31
+ _log(TRACE, message, ex, data, &block)
32
32
  end
33
33
 
34
34
  # Log any one or more of a message, an exception and structured data as DEBUG.
@@ -39,43 +39,42 @@ module Ougai
39
39
  # @yieldreturn [String|Exception|Object|Array] Any one or more of former parameters
40
40
  # @return [Boolean] true
41
41
  def debug(message = nil, ex = nil, data = nil, &block)
42
- log(DEBUG, message, ex, data, block)
42
+ _log(DEBUG, message, ex, data, &block)
43
43
  end
44
44
 
45
45
  # Log any one or more of a message, an exception and structured data as INFO.
46
46
  # @return [Boolean] true
47
47
  # @see Logging#debug
48
48
  def info(message = nil, ex = nil, data = nil, &block)
49
- log(INFO, message, ex, data, block)
49
+ _log(INFO, message, ex, data, &block)
50
50
  end
51
51
 
52
52
  # Log any one or more of a message, an exception and structured data as WARN.
53
53
  # @return [Boolean] true
54
54
  # @see Logging#debug
55
55
  def warn(message = nil, ex = nil, data = nil, &block)
56
- log(WARN, message, ex, data, block)
56
+ _log(WARN, message, ex, data, &block)
57
57
  end
58
58
 
59
59
  # Log any one or more of a message, an exception and structured data as ERROR.
60
60
  # @return [Boolean] true
61
61
  # @see Logging#debug
62
62
  def error(message = nil, ex = nil, data = nil, &block)
63
- log(ERROR, message, ex, data, block)
63
+ _log(ERROR, message, ex, data, &block)
64
64
  end
65
65
 
66
66
  # Log any one or more of a message, an exception and structured data as FATAL.
67
67
  # @return [Boolean] true
68
68
  # @see Logging#debug
69
69
  def fatal(message = nil, ex = nil, data = nil, &block)
70
- log(FATAL, message, ex, data, block)
70
+ _log(FATAL, message, ex, data, &block)
71
71
  end
72
72
 
73
73
  # Log any one or more of a message, an exception and structured data as UNKNOWN.
74
74
  # @return [Boolean] true
75
75
  # @see Logging#debug
76
76
  def unknown(message = nil, ex = nil, data = nil, &block)
77
- args = block ? yield : [message, ex, data]
78
- append(UNKNOWN, args)
77
+ _log(UNKNOWN, message, ex, data, &block)
79
78
  end
80
79
 
81
80
  # Whether the current severity level allows for logging TRACE.
@@ -84,6 +83,26 @@ module Ougai
84
83
  level <= TRACE
85
84
  end
86
85
 
86
+ # Log any one or more of a message, an exception and structured data as specified log level.
87
+ # If the block is given for delay evaluation, it returns them as an array or the one of them as a value.
88
+ # @param severity [Integer] The log level.
89
+ # @param message [String] The message to log. Use default_message if not specified.
90
+ # @param ex [Exception] The exception or the error
91
+ # @param data [Object] Any structured data
92
+ # @yieldreturn [String|Exception|Object|Array] Any one or more of former parameters
93
+ # @return [Boolean] true
94
+ def add(severity, message = nil, ex = nil, data = nil, &block)
95
+ _log(severity, message, ex, data, &block)
96
+ end
97
+
98
+ alias log add
99
+
100
+ def _log(severity, *args)
101
+ severity ||= UNKNOWN
102
+ return true if level > severity
103
+ append(severity, block_given? ? yield : args)
104
+ end
105
+
87
106
  # @private
88
107
  def chain(_severity, _args, _fields, _hooks)
89
108
  raise NotImplementedError
@@ -106,12 +125,5 @@ module Ougai
106
125
  end
107
126
  end
108
127
  end
109
-
110
- # @private
111
- def log(severity, message, ex, data, block)
112
- return true if level > severity
113
- args = block ? block.call : [message, ex, data]
114
- append(severity, args)
115
- end
116
128
  end
117
129
  end
data/lib/ougai/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ougai
4
- VERSION = '1.8.5'
4
+ VERSION = '1.9.1'
5
5
  end
data/spec/logger_spec.rb CHANGED
@@ -349,6 +349,14 @@ describe Ougai::Logger do
349
349
  it_behaves_like 'log'
350
350
  end
351
351
 
352
+ describe '#unknown' do
353
+ let(:log_level) { 70 }
354
+ let(:log_msg) { 'unknown message' }
355
+ let(:method) { 'unknown' }
356
+
357
+ it_behaves_like 'log'
358
+ end
359
+
352
360
  describe '#level' do
353
361
  context 'DEBUG' do
354
362
  let(:log_msg) { 'log message' }
data/spec/logging_spec.rb CHANGED
@@ -3,7 +3,14 @@ require 'spec_helper'
3
3
  describe Ougai::Logging do
4
4
  subject do
5
5
  m = described_class
6
- Class.new { include m }.new
6
+
7
+ Class.new do
8
+ include m
9
+
10
+ def level
11
+ -1
12
+ end
13
+ end.new
7
14
  end
8
15
 
9
16
  describe '#weak_merge!' do
@@ -30,4 +37,62 @@ describe Ougai::Logging do
30
37
  expect{ subject.send(:append, :arg1, :arg2) }.to raise_error(NotImplementedError)
31
38
  end
32
39
  end
40
+
41
+ describe '#add' do
42
+ context 'severity is specified level' do
43
+ it 'calls append with specified level' do
44
+ data = double('data')
45
+ expect(subject).to receive(:append).with(::Logger::Severity::DEBUG, ['debug message', data, nil])
46
+ subject.add(::Logger::Severity::DEBUG, 'debug message', data)
47
+ end
48
+ end
49
+
50
+ context 'severity is nil' do
51
+ it 'calls append with UNKNOWN level' do
52
+ expect(subject).to receive(:append).with(::Logger::Severity::UNKNOWN, ['message', nil, nil])
53
+ subject.add(nil, 'message')
54
+ end
55
+ end
56
+
57
+ context 'with block that yields message' do
58
+ it 'calls append with yielded message' do
59
+ expect(subject).to receive(:append).with(::Logger::Severity::WARN, 'block message')
60
+ subject.add(::Logger::Severity::WARN) { 'block message' }
61
+ end
62
+ end
63
+
64
+ context 'with block that yields array' do
65
+ it 'calls append with yielded array' do
66
+ data = double('data')
67
+ expect(subject).to receive(:append).with(::Logger::Severity::WARN, ['block message', data])
68
+ subject.add(::Logger::Severity::WARN) { ['block message', data] }
69
+ end
70
+ end
71
+ end
72
+
73
+ describe '#log' do
74
+ context 'severity is specified' do
75
+ it 'calls append with specified level' do
76
+ ex = Exception.new
77
+ expect(subject).to receive(:append).with(::Logger::Severity::FATAL, ['fatal message', ex, nil])
78
+ subject.log(::Logger::Severity::FATAL, 'fatal message', ex)
79
+ end
80
+ end
81
+
82
+ context 'severity is nil' do
83
+ it 'calls append with UNKNOWN level' do
84
+ expect(subject).to receive(:append).with(::Logger::Severity::UNKNOWN, ['message', nil, nil])
85
+ subject.log(nil, 'message')
86
+ end
87
+ end
88
+
89
+ context 'with block' do
90
+ it 'calls append with yielded arguments' do
91
+ ex = Exception.new
92
+ data = double('data')
93
+ expect(subject).to receive(:append).with(::Logger::Severity::INFO, ['block message', ex, data])
94
+ subject.log(::Logger::Severity::INFO) { ['block message', ex, data] }
95
+ end
96
+ end
97
+ end
33
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ougai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.5
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toshimitsu Takahashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-04 00:00:00.000000000 Z
11
+ date: 2021-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -114,25 +114,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.4.0
117
+ version: 2.5.0
118
118
  required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubygems_version: 3.0.1
124
+ rubygems_version: 3.1.2
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: JSON logger compatible with node-bunyan or pino is capable of handling structured
128
128
  data easily.
129
129
  test_files:
130
- - spec/formatters/pino_spec.rb
131
- - spec/formatters/base_spec.rb
132
- - spec/formatters/bunyan_spec.rb
133
- - spec/formatters/readable_spec.rb
134
130
  - spec/child_logger_spec.rb
135
131
  - spec/logging_spec.rb
136
- - spec/logger_spec.rb
137
132
  - spec/ougai_spec.rb
138
133
  - spec/spec_helper.rb
134
+ - spec/formatters/pino_spec.rb
135
+ - spec/formatters/readable_spec.rb
136
+ - spec/formatters/base_spec.rb
137
+ - spec/formatters/bunyan_spec.rb
138
+ - spec/logger_spec.rb