ezlog 0.7.1 → 0.9.6

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: 8ca6993d4ad6c1fcd07d3d4895b2be3f2bdfde37eb3463c0c09f6480676eb439
4
- data.tar.gz: a802402d7225019622d87d9990b71088f6cbd01d770641d1835dc310d301fd38
3
+ metadata.gz: 178b2810c13ba87a8a1e389a6679e14f06e4b4f05bcc0a84dea797110cfde3a7
4
+ data.tar.gz: ae3e3abfbf692e3189a5d6e1bfb1efe4ec3ce064e1e61285a2c13b27922e13fe
5
5
  SHA512:
6
- metadata.gz: 8eed8c43fa2cdd21cd8f29d49cb86351b33afd054419111a3d98a7564696721f0f67ddbd17ad38be0b421bee6bc55138799014c692a42770061f2a29f707ece7
7
- data.tar.gz: 9035a7299dae11147aec96510d49549727fcaed0cb59e43be562dd85710277424a7a213364ff763e3611faca2ebf138c03e623517ce5200b891a691b924bdcdc
6
+ metadata.gz: 21d6c1fa52dd9b46bbc33fc776d139d3c7c38492cb8f7f47bcfc577c47c53a8014197712993ece0a53807646fff222acca23e803df8af74c32ee820b4b895f7c
7
+ data.tar.gz: 2ba5df5dcb18e3553f97f4727556626ad386e2e2c4dc16aefe261d3502cbe33d9fc163c439da8aa3a8392359eba43f15ea5a5da7501892da7e6c7e9e149b0553
data/CHANGELOG.md CHANGED
@@ -1,3 +1,83 @@
1
+ ### 0.9.6 (2021-06-30)
2
+
3
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.5...v0.9.6)
4
+
5
+ * Fix
6
+ * fixing a Rails 6.1 specific issue with ActiveRecord array parameter in a query (`User.where(id: [1,2,3,4])`)
7
+
8
+ ### 0.9.5 (2020-10-01)
9
+
10
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.4...v0.9.5)
11
+
12
+ * Fix
13
+ * fixing an issue with the Sidekiq job's log context generation:
14
+ using a namespaced Sidekiq worker (`SomeModule::SomeWorker`) cause the log context generations to fail with: `NameError: wrong constant name SomeModule::SomeWorker`
15
+
16
+ ### 0.9.4 (2020-09-26)
17
+
18
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.3...v0.9.4)
19
+
20
+ * Features & enhancements
21
+ * added Ruby 2.7 to the list of version CI will test the code with
22
+ * remove dot-files and Rakefile from the gem
23
+ * Fix
24
+ * stop using `Hash#merge` with multiple arguments as it's only supported from Ruby 2.6
25
+
26
+ ### 0.9.3 (2020-09-20)
27
+
28
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.2...v0.9.3)
29
+
30
+ * Features & enhancements
31
+ * Switching to [Oj](https://github.com/ohler55/oj) for fast JSON serialization
32
+ * Allow level to be formatted (so it can be logged as a number too)
33
+
34
+ if you want to use Ougai-like numbers you can do something like this:
35
+ ```ruby
36
+ config.ezlog.layout_options = { level_formatter: ->(level_number) { (level_number + 2) * 10 } }
37
+
38
+ Rails.logger.error('Boom!')
39
+ #=> {"logger":"Application","timestamp":"2020-09-20T19:29:03+02:00","level":50,"hostname":"BUD010256.local","pid":19872,"message":"Boom!"}
40
+ ```
41
+ * initial context (a context which will be added to every single line of log) can be configured via `config.ezlog.layout_options` and it defaults to `{environment: ::Rails.env}`
42
+
43
+ ### 0.9.2 (2020-09-19)
44
+
45
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.1...v0.9.2)
46
+
47
+ * Features & enhancements
48
+ * Improvements of the [Sidekiq](https://github.com/mperham/sidekiq) integration
49
+ * supports additional job information: batch id, tags and thread id (bid, tags, tid)
50
+ * support logging "death" events (setting up a death_handler)
51
+
52
+ ### 0.9.1 (2020-05-10)
53
+
54
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.9.0...v0.9.1)
55
+
56
+ * Bug fixed
57
+ * Fixed a bug in access log exclusion pattern matching that would exclude partial matches for a path if it was
58
+ specified as a string (expecting to be excluded only in case of a full match).
59
+
60
+ ### 0.9.0 (2020-05-10)
61
+
62
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.8.0...v0.9.0)
63
+
64
+ * Features & enhancements
65
+ * Ezlog now supports [Rails](https://rubyonrails.org/) 6.
66
+ * Added the ability to exclude certain paths from access logging. Use the `exclude_paths` configuration option to
67
+ add paths (strings or regexps) to exclude from your access logs.
68
+
69
+ ### 0.8.0 (2020-04-07)
70
+
71
+ [Full Changelog](https://github.com/emartech/ezlog/compare/v0.7.1...v0.8.0)
72
+
73
+ * Bug fixes
74
+ * Reverted the change introduced in `v0.5.2` which extended the [Sidekiq](https://github.com/mperham/sidekiq) logger
75
+ interface because it caused problems with other third-party integrations
76
+ (e.g. [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs)).
77
+ [Sidekiq](https://github.com/mperham/sidekiq) itself removed this interface element in `v6.0.1`, so the current
78
+ change breaks compatibility with [Sidekiq](https://github.com/mperham/sidekiq) `v6.0.0` exclusively. If you're
79
+ using that version, please upgrade.
80
+
1
81
  ### 0.7.1 (2020-03-12)
2
82
 
3
83
  [Full Changelog](https://github.com/emartech/ezlog/compare/v0.7.0...v0.7.1)
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  Ezlog is intended to be a zero-configuration structured logging setup for pure Ruby or [Ruby on Rails](https://rubyonrails.org/)
7
7
  projects using any (or all) of the following libraries or frameworks:
8
8
 
9
- * [Ruby on Rails](https://rubyonrails.org/)
9
+ * [Ruby on Rails](https://rubyonrails.org/) (5.x and 6.x supported)
10
10
  * [Sidekiq](https://github.com/mperham/sidekiq)
11
11
  * [Sequel](https://sequel.jeremyevans.net/)
12
12
  * [Rack::Timeout](https://github.com/heroku/rack-timeout)
@@ -134,6 +134,12 @@ Using this configuration, Ezlog will only log the `action` parameter under the `
134
134
  all parameters serialized into a single string under the key `params_serialized`. You won't lose any information,
135
135
  but you can make sure that only the relevant parameters of your requests are searchable (and thus protect your logs).
136
136
 
137
+ Should you want to exclude certain paths (e.g. a healthcheck URL) from your access logs, you can use the following option:
138
+
139
+ ```ruby
140
+ config.ezlog.exclude_paths = ['/healthcheck', %r(/monitoring/.*)] # default is empty so everything gets logged
141
+ ```
142
+
137
143
  #### The log level
138
144
 
139
145
  The logger's log level is determined as follows (in order of precedence):
data/ezlog.gemspec CHANGED
@@ -16,16 +16,17 @@ Gem::Specification.new do |spec|
16
16
  }
17
17
 
18
18
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^((test|spec|features)/|Rakefile|\.)}) }
20
20
  end
21
21
  spec.bindir = "exe"
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.add_dependency "logging", "~> 2.0"
26
+ spec.add_dependency "oj", "~> 3.0"
26
27
 
27
28
  spec.add_development_dependency "bundler", "~> 2.0"
28
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rake", ">= 12.3.3"
29
30
  spec.add_development_dependency "rspec", "~> 3.0"
30
31
  spec.add_development_dependency "sidekiq", ">= 5.0"
31
32
  spec.add_development_dependency "sequel", "~> 5.0"
@@ -1,10 +1,11 @@
1
1
  require 'time'
2
- require 'json'
2
+ require 'oj'
3
3
 
4
4
  module Ezlog
5
5
  class LoggingLayout < ::Logging::Layout
6
- def initialize(context = {})
6
+ def initialize(context = {}, options = {})
7
7
  @initial_context = context
8
+ @level_formatter = options.fetch(:level_formatter, ->(numeric_level) { ::Logging::LNAMES[numeric_level] })
8
9
  end
9
10
 
10
11
  def format(event)
@@ -12,7 +13,7 @@ module Ezlog
12
13
  add_initial_context_to log_entry
13
14
  add_logging_context_to log_entry
14
15
  add_event_information_to log_entry, event
15
- ::JSON.dump(log_entry) + "\n"
16
+ ::Oj.dump(log_entry, mode: :json) + "\n"
16
17
  end
17
18
 
18
19
  private
@@ -20,8 +21,8 @@ module Ezlog
20
21
  def basic_information_for(event)
21
22
  {
22
23
  'logger' => event.logger,
23
- 'timestamp' => event.time.iso8601,
24
- 'level' => ::Logging::LNAMES[event.level],
24
+ 'timestamp' => event.time.iso8601(3),
25
+ 'level' => @level_formatter.call(event.level),
25
26
  'hostname' => Socket.gethostname,
26
27
  'pid' => Process.pid
27
28
  }
@@ -46,17 +47,17 @@ module Ezlog
46
47
  when Hash
47
48
  obj
48
49
  else
49
- {message: obj}
50
+ { 'message' => obj }
50
51
  end
51
52
  end
52
53
 
53
54
  def exception_message_by(exception)
54
55
  {
55
- message: exception.message,
56
- error: {
57
- class: exception.class.name,
58
- message: exception.message,
59
- backtrace: exception.backtrace&.first(20)
56
+ 'message' => exception.message,
57
+ 'error' => {
58
+ 'class' => exception.class.name,
59
+ 'message' => exception.message,
60
+ 'backtrace' => exception.backtrace&.first(20)
60
61
  }
61
62
  }
62
63
  end
@@ -3,10 +3,10 @@ module Ezlog
3
3
  class AccessLog
4
4
  include LogContextHelper
5
5
 
6
- def initialize(app, logger, whitelisted_params)
6
+ def initialize(app, logger, config)
7
7
  @app = app
8
8
  @logger = logger
9
- @whitelisted_params = whitelisted_params&.map &:to_s
9
+ @config = config
10
10
  end
11
11
 
12
12
  def call(env)
@@ -29,23 +29,36 @@ module Ezlog
29
29
  end
30
30
 
31
31
  def log_request(request, status)
32
+ return if path_ignored?(request)
33
+
32
34
  message = {
33
35
  message: '%s %s - %i (%s)' % [request.method, request.filtered_path, status, Rack::Utils::HTTP_STATUS_CODES[status]],
34
36
  remote_ip: request.remote_ip,
35
37
  method: request.method,
36
38
  path: request.filtered_path,
37
- params: params_to_log_in(request),
39
+ params: params_to_log(request),
38
40
  response_status_code: status
39
41
  }
40
- message.merge! params_serialized: request.filtered_parameters.inspect if @whitelisted_params
42
+ message.merge! params_serialized: request.filtered_parameters.inspect if @config.log_only_whitelisted_params
41
43
  @logger.info message
42
44
  end
43
45
 
44
- def params_to_log_in(request)
45
- if @whitelisted_params.nil?
46
- request.filtered_parameters
46
+ def path_ignored?(request)
47
+ @config.exclude_paths.any? do |pattern|
48
+ case pattern
49
+ when Regexp
50
+ pattern.match? request.path
51
+ else
52
+ pattern == request.path
53
+ end
54
+ end
55
+ end
56
+
57
+ def params_to_log(request)
58
+ if @config.log_only_whitelisted_params
59
+ request.filtered_parameters.slice *@config.whitelisted_params&.map(&:to_s)
47
60
  else
48
- request.filtered_parameters.slice *@whitelisted_params
61
+ request.filtered_parameters
49
62
  end
50
63
  end
51
64
  end
@@ -33,6 +33,8 @@ module Ezlog
33
33
  end
34
34
 
35
35
  Hash[param_value_pairs]
36
+ rescue NoMethodError
37
+ params
36
38
  end
37
39
 
38
40
  def type_casted_values_from(event)
data/lib/ezlog/railtie.rb CHANGED
@@ -4,13 +4,18 @@ module Ezlog
4
4
  config.ezlog.enable_sequel_logging = false
5
5
  config.ezlog.log_only_whitelisted_params = false
6
6
  config.ezlog.whitelisted_params = [:controller, :action]
7
+ config.ezlog.exclude_paths = []
8
+ config.ezlog.initial_context = { environment: ::Rails.env }
9
+ config.ezlog.layout_options = {}
7
10
 
8
11
  initializer "ezlog.initialize" do
9
12
  require "ezlog/rails/extensions"
10
13
  end
11
14
 
12
15
  initializer 'ezlog.configure_logging' do |app|
13
- ::Logging.logger.root.appenders = ::Logging.appenders.stdout 'stdout', layout: Ezlog::LoggingLayout.new(environment: ::Rails.env)
16
+ ::Logging.logger.root.appenders =
17
+ ::Logging.appenders.stdout 'stdout', layout: Ezlog::LoggingLayout.new(app.config.ezlog.initial_context,
18
+ app.config.ezlog.layout_options)
14
19
  ::Logging.logger.root.level = app.config.log_level
15
20
  end
16
21
 
@@ -29,16 +34,26 @@ module Ezlog
29
34
  initializer 'ezlog.configure_rails_middlewares' do |app|
30
35
  app.config.middleware.insert_after ::ActionDispatch::RequestId, Ezlog::Rails::RequestLogContext
31
36
  app.config.middleware.delete ::Rails::Rack::Logger
32
- app.config.middleware.insert_before ::ActionDispatch::DebugExceptions, Ezlog::Rails::AccessLog, Ezlog.logger('AccessLog'), whitelisted_params(app)
37
+ app.config.middleware.insert_before ::ActionDispatch::DebugExceptions, Ezlog::Rails::AccessLog, Ezlog.logger('AccessLog'), config.ezlog
33
38
  app.config.middleware.insert_after ::ActionDispatch::DebugExceptions, Ezlog::Rails::LogExceptions, Ezlog.logger('Application')
34
39
  end
35
40
 
36
41
  config.after_initialize do
37
- Ezlog::Rails::LogSubscriber.detach ::ActionController::LogSubscriber
38
- Ezlog::Rails::LogSubscriber.detach ::ActionView::LogSubscriber
39
- if defined? ::ActiveRecord
40
- Ezlog::Rails::LogSubscriber.detach ::ActiveRecord::LogSubscriber
41
- Ezlog::Rails::LogSubscriber.attach Ezlog::Rails::ActiveRecord::LogSubscriber, :active_record
42
+ case ::Rails::VERSION::MAJOR
43
+ when 6
44
+ ::ActionController::LogSubscriber.detach_from :action_controller
45
+ ::ActionView::LogSubscriber.detach_from :action_view
46
+ if defined? ::ActiveRecord
47
+ ::ActiveRecord::LogSubscriber.detach_from :active_record
48
+ Ezlog::Rails::LogSubscriber.attach Ezlog::Rails::ActiveRecord::LogSubscriber, :active_record
49
+ end
50
+ else
51
+ Ezlog::Rails::LogSubscriber.detach ::ActionController::LogSubscriber
52
+ Ezlog::Rails::LogSubscriber.detach ::ActionView::LogSubscriber
53
+ if defined? ::ActiveRecord
54
+ Ezlog::Rails::LogSubscriber.detach ::ActiveRecord::LogSubscriber
55
+ Ezlog::Rails::LogSubscriber.attach Ezlog::Rails::ActiveRecord::LogSubscriber, :active_record
56
+ end
42
57
  end
43
58
  end
44
59
 
@@ -50,21 +65,18 @@ module Ezlog
50
65
  private
51
66
 
52
67
  def initialize_sidekiq_logging(app)
53
- ::Sidekiq.logger = Ezlog.logger('Sidekiq').extend Ezlog::Sidekiq::LoggerExtension
68
+ ::Sidekiq.logger = Ezlog.logger('Sidekiq')
54
69
  ::Sidekiq.logger.level = app.config.log_level
55
70
  ::Sidekiq.configure_server do |config|
56
71
  config.options[:job_logger] = Ezlog::Sidekiq::JobLogger
57
72
  config.error_handlers << Ezlog::Sidekiq::ErrorLogger.new
58
73
  config.error_handlers.delete_if { |handler| handler.is_a? ::Sidekiq::ExceptionHandler::Logger }
74
+ config.death_handlers << Ezlog::Sidekiq::DeathLogger.new
59
75
  end
60
76
  end
61
77
 
62
78
  def disable_rack_timeout_logging
63
79
  ::Rack::Timeout::Logger.logger = ::Logger.new(nil)
64
80
  end
65
-
66
- def whitelisted_params(app)
67
- app.config.ezlog.log_only_whitelisted_params ? app.config.ezlog.whitelisted_params : nil
68
- end
69
81
  end
70
82
  end
data/lib/ezlog/sidekiq.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Ezlog
2
2
  module Sidekiq
3
+ autoload :DeathLogger, 'ezlog/sidekiq/death_logger'
3
4
  autoload :ErrorLogger, 'ezlog/sidekiq/error_logger'
4
5
  autoload :JobContext, 'ezlog/sidekiq/job_context'
5
6
  autoload :JobLogger, 'ezlog/sidekiq/job_logger'
6
- autoload :LoggerExtension, 'ezlog/sidekiq/logger_extension'
7
7
  end
8
8
  end
@@ -0,0 +1,15 @@
1
+ require 'sidekiq'
2
+
3
+ module Ezlog
4
+ module Sidekiq
5
+ class DeathLogger
6
+ include LogContextHelper
7
+
8
+ def call(job, error)
9
+ within_log_context(JobContext.from_job_hash(job)) do
10
+ ::Sidekiq.logger.error error
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -4,13 +4,18 @@ module Ezlog
4
4
  class << self
5
5
  def from_job_hash(job_hash)
6
6
  return {} if job_hash.nil?
7
- basic_info_from(job_hash).merge named_arguments_from(job_hash)
7
+ thread_info.merge(basic_info_from(job_hash)).merge(named_arguments_from(job_hash))
8
8
  end
9
9
 
10
10
  private
11
11
 
12
+ def thread_info
13
+ { tid: Thread.current['sidekiq_tid'] || (Thread.current.object_id ^ ::Process.pid).to_s(36) }
14
+ end
15
+
16
+
12
17
  def basic_info_from(job)
13
- {
18
+ h = {
14
19
  jid: job['jid'],
15
20
  queue: job['queue'],
16
21
  worker: job_class(job),
@@ -18,6 +23,9 @@ module Ezlog
18
23
  enqueued_at: job['enqueued_at'],
19
24
  run_count: (job['retry_count'] || -1) + 2
20
25
  }
26
+ h[:bid] = job['bid'] if job['bid']
27
+ h[:tags] = job['tags'] if job['tags']
28
+ h
21
29
  end
22
30
 
23
31
  def named_arguments_from(job)
@@ -29,7 +37,7 @@ module Ezlog
29
37
  end
30
38
 
31
39
  def method_parameters_of(job)
32
- Kernel.const_get(job_class(job).to_sym).instance_method(:perform).parameters
40
+ Kernel.const_get(job_class(job)).instance_method(:perform).parameters
33
41
  end
34
42
 
35
43
  def job_class(job)
data/lib/ezlog/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ezlog
2
- VERSION = '0.7.1'
2
+ VERSION = '0.9.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ezlog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zoltan Ormandi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-12 00:00:00.000000000 Z
11
+ date: 2021-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: oj
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +56,16 @@ dependencies:
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: '10.0'
61
+ version: 12.3.3
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '10.0'
68
+ version: 12.3.3
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -129,14 +143,10 @@ executables: []
129
143
  extensions: []
130
144
  extra_rdoc_files: []
131
145
  files:
132
- - ".gitignore"
133
- - ".rspec"
134
- - ".travis.yml"
135
146
  - CHANGELOG.md
136
147
  - Gemfile
137
148
  - LICENSE.txt
138
149
  - README.md
139
- - Rakefile
140
150
  - bin/console
141
151
  - bin/setup
142
152
  - ezlog.gemspec
@@ -156,10 +166,10 @@ files:
156
166
  - lib/ezlog/rspec/helpers.rb
157
167
  - lib/ezlog/rspec/matchers.rb
158
168
  - lib/ezlog/sidekiq.rb
169
+ - lib/ezlog/sidekiq/death_logger.rb
159
170
  - lib/ezlog/sidekiq/error_logger.rb
160
171
  - lib/ezlog/sidekiq/job_context.rb
161
172
  - lib/ezlog/sidekiq/job_logger.rb
162
- - lib/ezlog/sidekiq/logger_extension.rb
163
173
  - lib/ezlog/version.rb
164
174
  - lib/sequel/extensions/ezlog_logging.rb
165
175
  homepage: https://github.com/emartech/ezlog
@@ -182,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
192
  - !ruby/object:Gem::Version
183
193
  version: '0'
184
194
  requirements: []
185
- rubygems_version: 3.0.3
195
+ rubygems_version: 3.1.6
186
196
  signing_key:
187
197
  specification_version: 4
188
198
  summary: A zero-configuration logging solution for projects using Sidekiq, Rails,
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
12
- .ruby-version
13
- Gemfile.lock
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format progress
2
- --color
3
- --require spec_helper
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.4.6
7
- - 2.5.5
8
- - 2.6.3
9
- before_install: gem install bundler -v 2.0.1
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
@@ -1,11 +0,0 @@
1
- module Ezlog
2
- module Sidekiq
3
- module LoggerExtension
4
- include LogContextHelper
5
-
6
- def with_context(context, &block)
7
- within_log_context context, &block
8
- end
9
- end
10
- end
11
- end