ougai 1.8.5 → 1.9.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/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/ougai/logger.rb +5 -4
- data/lib/ougai/logging.rb +23 -15
- data/lib/ougai/version.rb +1 -1
- data/spec/logger_spec.rb +8 -0
- data/spec/logging_spec.rb +58 -1
- metadata +9 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4b9254ac3650ca12026fbd3d3c6b474a8de478fb81ea82f19fecdff6b62c8b17
         | 
| 4 | 
            +
              data.tar.gz: 95c71a88355673d0821596503057ad46761c3b508ab7a0b72b806462f8a3af7f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9c7cdf6d3ad6cfbaae66438cc40971a5cbd978ad9585c2ed4538cea3530184f53a3e0f2a87c22cfcfc581ecbb596eb7b7d2468edc26e7c1b05d27832d856bbcf
         | 
| 7 | 
            +
              data.tar.gz: bed8c16d8e851d7b64d52b86084c13f333a0cee873ab4c1bd8670083c700597a587cb6edf39cead61711af747d30b0723d6bf63ac6eadd1c4de0fb7611d8f16c
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -2,7 +2,7 @@ Ougai | |
| 2 2 | 
             
            =====
         | 
| 3 3 |  | 
| 4 4 | 
             
            [](https://badge.fury.io/rb/ougai)
         | 
| 5 | 
            -
            [](http://www.rubydoc.info/gems/ougai/)
         | 
| 6 6 | 
             
            [](https://travis-ci.org/tilfin/ougai)
         | 
| 7 7 | 
             
            [](https://codeclimate.com/github/tilfin/ougai)
         | 
| 8 8 | 
             
            [](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(: | 
| 42 | 
            -
                      logger. | 
| 43 | 
            -
                      super(*args)
         | 
| 42 | 
            +
                    define_method(:add) do |*args, &block|
         | 
| 43 | 
            +
                      logger.add(*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 | 
            -
                   | 
| 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 | 
            -
                   | 
| 31 | 
            +
                  add(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 | 
            -
                   | 
| 42 | 
            +
                  add(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 | 
            -
                   | 
| 49 | 
            +
                  add(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 | 
            -
                   | 
| 56 | 
            +
                  add(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 | 
            -
                   | 
| 63 | 
            +
                  add(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 | 
            -
                   | 
| 70 | 
            +
                  add(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 | 
            -
                   | 
| 78 | 
            -
                  append(UNKNOWN, args)
         | 
| 77 | 
            +
                  add(UNKNOWN, message, ex, data, &block)
         | 
| 79 78 | 
             
                end
         | 
| 80 79 |  | 
| 81 80 | 
             
                # Whether the current severity level allows for logging TRACE.
         | 
| @@ -84,6 +83,22 @@ 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, *args)
         | 
| 95 | 
            +
                  severity ||= UNKNOWN
         | 
| 96 | 
            +
                  return true if level > severity
         | 
| 97 | 
            +
                  append(severity, block_given? ? yield : args)
         | 
| 98 | 
            +
                end
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                alias log add
         | 
| 101 | 
            +
             | 
| 87 102 | 
             
                # @private
         | 
| 88 103 | 
             
                def chain(_severity, _args, _fields, _hooks)
         | 
| 89 104 | 
             
                  raise NotImplementedError
         | 
| @@ -106,12 +121,5 @@ module Ougai | |
| 106 121 | 
             
                    end
         | 
| 107 122 | 
             
                  end
         | 
| 108 123 | 
             
                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 124 | 
             
              end
         | 
| 117 125 | 
             
            end
         | 
    
        data/lib/ougai/version.rb
    CHANGED
    
    
    
        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 | 
            -
             | 
| 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,54 @@ 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])
         | 
| 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'])
         | 
| 53 | 
            +
                    subject.add(nil, 'message')
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
                end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                context 'block given' do
         | 
| 58 | 
            +
                  it 'calls append with yielded arguments' do
         | 
| 59 | 
            +
                    expect(subject).to receive(:append).with(::Logger::Severity::WARN, ['block message'])
         | 
| 60 | 
            +
                    subject.log(::Logger::Severity::WARN) { ['block message'] }
         | 
| 61 | 
            +
                  end
         | 
| 62 | 
            +
                end
         | 
| 63 | 
            +
              end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
              describe '#log' do
         | 
| 66 | 
            +
                context 'severity is specified' do
         | 
| 67 | 
            +
                  it 'calls append with specified level' do
         | 
| 68 | 
            +
                    ex = Exception.new
         | 
| 69 | 
            +
                    expect(subject).to receive(:append).with(::Logger::Severity::FATAL, ['fatal message', ex])
         | 
| 70 | 
            +
                    subject.log(::Logger::Severity::FATAL, 'fatal message', ex)
         | 
| 71 | 
            +
                  end
         | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                context 'severity is nil' do
         | 
| 75 | 
            +
                  it 'calls append with UNKNOWN level' do
         | 
| 76 | 
            +
                    expect(subject).to receive(:append).with(::Logger::Severity::UNKNOWN, ['message'])
         | 
| 77 | 
            +
                    subject.log(nil, 'message')
         | 
| 78 | 
            +
                  end
         | 
| 79 | 
            +
                end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                context 'block given' do
         | 
| 82 | 
            +
                  it 'calls append with yielded arguments' do
         | 
| 83 | 
            +
                    ex = Exception.new
         | 
| 84 | 
            +
                    data = double('data')
         | 
| 85 | 
            +
                    expect(subject).to receive(:append).with(::Logger::Severity::INFO, ['block message', ex, data])
         | 
| 86 | 
            +
                    subject.log(::Logger::Severity::INFO) { ['block message', ex, data] }
         | 
| 87 | 
            +
                  end
         | 
| 88 | 
            +
                end
         | 
| 89 | 
            +
              end
         | 
| 33 90 | 
             
            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. | 
| 4 | 
            +
              version: 1.9.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Toshimitsu Takahashi
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-01-10 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. | 
| 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. | 
| 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
         |