sidekiq_parameters_logging 1.0.0 → 1.1.0

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
  SHA1:
3
- metadata.gz: 3c00a97157720bf54c57efbe1277aaf0efdc93e1
4
- data.tar.gz: 7dc5e35a22ade77a08d71c604817ecbca957de0c
3
+ metadata.gz: 46b268d15a18076eda823b0cf9bf928745a59429
4
+ data.tar.gz: dd6a8649a14daf91967eda6fe65b5a1f4f6ff5dd
5
5
  SHA512:
6
- metadata.gz: e39f667827656f8d8a6884abe78a02742497a18e496a822d39bbe694b91aeeb66202f9249a5480f7e6e0d5760db7b349a4c0e34b0e6a37c17a189e3a5ca470da
7
- data.tar.gz: ad3116cd6f699a22e58d71a821060439f85b4b04d65bc0c057c32ac78e93b6b7bcaab8d183a65aad6f57ff1d697d33f5e1eaae89d28c14b39dffd5019b0eca9d
6
+ metadata.gz: 1facab0c06e536eb5db41dc28e0deb7669cec8f4ac9fd036e4875f3093f051ea4134c30e3198306661eca0d2db7133ce392e3bd6d685f615c230f153f60ffe04
7
+ data.tar.gz: 363f07c874d7b01bfa8129dfe138e0aee40fdfe3755b09cfae23f695158a29fa5ef3e318d963daf034db5cd63d5b01bafbb5397e4d68933a2bfd1ed666bb9201
@@ -6,8 +6,8 @@
6
6
  class Worker
7
7
  include Sidekiq::Worker
8
8
 
9
- def perform(*args)
10
- # do something
9
+ def perform(*params)
10
+ # do something
11
11
  end
12
12
  end
13
13
  ```
@@ -21,11 +21,40 @@ Worker JID-ae4889cc009b554132fed3a0 INFO: done: 3.363 sec
21
21
 
22
22
  # with Sidekiq::Parameters::Logging
23
23
  Worker JID-ae4889cc009b554132fed3a0 INFO: start
24
- Worker JID-ae4889cc009b554132fed3a0 INFO: parameters: #{args.inspect}
24
+ Worker JID-ae4889cc009b554132fed3a0 INFO: parameters: #{params.inspect}
25
25
  Worker JID-ae4889cc009b554132fed3a0 INFO: done: 3.363 sec
26
26
 
27
27
  ```
28
28
 
29
+ ## Installation
30
+
31
+ Make sure that you already have [sidekiq](http://sidekiq.org/) installed. In your `Gemfile`:
32
+
33
+ ```ruby
34
+ gem 'sidekiq_parameters_logging'
35
+ ```
36
+
37
+ ## Log Filtering
38
+
39
+ You can also filter the parameters that you want to get logged by the logger:
40
+
41
+ ```ruby
42
+ class Worker
43
+ include Sidekiq::Worker
44
+ include Sidekiq::Parameters::Logger
45
+
46
+ logger_filter do |params|
47
+ params[-1] # only print out the last parameter
48
+ end
49
+
50
+ def perform(*params)
51
+ # do something
52
+ end
53
+ end
54
+ ```
55
+
56
+ `logger_filter` takes a block with an array of parameters that are being passed to your `perform` method. Logger will then print out whatever that is returned from this block with `.inspect`.
57
+
29
58
  ## Notes
30
59
 
31
60
  `Sidekiq::Parameters::Logging` replaces the standard `Sidekiq::Middleware::Server::Logging`.
@@ -0,0 +1,17 @@
1
+ module Sidekiq
2
+ module Parameters
3
+ module Logger
4
+ module ClassMethods
5
+ attr_reader :filter_block
6
+
7
+ def logger_filter(&block)
8
+ @filter_block = block
9
+ end
10
+ end
11
+
12
+ def self.included(base)
13
+ base.extend(ClassMethods)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,12 +1,22 @@
1
1
  module Sidekiq
2
- class Parameters
2
+ module Parameters
3
3
  class Logging
4
4
  def call(worker, item, queue)
5
5
  Sidekiq::Logging.with_context("#{worker.class.to_s} JID-#{item['jid']}") do
6
6
  begin
7
7
  start = Time.now
8
8
  logger.info { "start" }
9
- logger.info { "parameters: #{item['args'].inspect}" }
9
+
10
+ # see whether filter_block is set
11
+ worker_class = worker.class
12
+ if worker_class.respond_to?(:filter_block) && worker_class.filter_block
13
+ logger.info do
14
+ "parameters: #{worker_class.filter_block.call(item['args'].clone).inspect}"
15
+ end
16
+ else
17
+ logger.info { "parameters: #{item['args'].inspect}" }
18
+ end
19
+
10
20
  yield
11
21
  logger.info { "done: #{elapsed(start)} sec" }
12
22
  rescue Exception
@@ -1,4 +1,5 @@
1
1
  require 'sidekiq/parameters/logging'
2
+ require 'sidekiq/parameters/logger'
2
3
 
3
4
  Sidekiq.configure_server do |config|
4
5
  config.server_middleware do |chain|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_parameters_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Teng Siong Ong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-07 00:00:00.000000000 Z
11
+ date: 2013-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -32,6 +32,7 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
+ - lib/sidekiq/parameters/logger.rb
35
36
  - lib/sidekiq/parameters/logging.rb
36
37
  - lib/sidekiq_parameters_logging.rb
37
38
  - MIT-LICENSE