sidekiq_parameters_logging 1.0.0 → 1.1.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/README.markdown +32 -3
- data/lib/sidekiq/parameters/logger.rb +17 -0
- data/lib/sidekiq/parameters/logging.rb +12 -2
- data/lib/sidekiq_parameters_logging.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 46b268d15a18076eda823b0cf9bf928745a59429
|
|
4
|
+
data.tar.gz: dd6a8649a14daf91967eda6fe65b5a1f4f6ff5dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1facab0c06e536eb5db41dc28e0deb7669cec8f4ac9fd036e4875f3093f051ea4134c30e3198306661eca0d2db7133ce392e3bd6d685f615c230f153f60ffe04
|
|
7
|
+
data.tar.gz: 363f07c874d7b01bfa8129dfe138e0aee40fdfe3755b09cfae23f695158a29fa5ef3e318d963daf034db5cd63d5b01bafbb5397e4d68933a2bfd1ed666bb9201
|
data/README.markdown
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
class Worker
|
|
7
7
|
include Sidekiq::Worker
|
|
8
8
|
|
|
9
|
-
def perform(*
|
|
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: #{
|
|
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
|
-
|
|
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
|
-
|
|
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
|
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.
|
|
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-
|
|
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
|