rails-labeled_log 0.0.2 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37939253e47c87b3d966361c40151773528e9d6f
4
- data.tar.gz: 25a59ed9ef4ace3ec2df5a7899763531106ad1d4
3
+ metadata.gz: e342da561f1ca4393524de32691093d64e3c0e38
4
+ data.tar.gz: 3abefdd8579a4e997bd46f795065cd2b45d0c8de
5
5
  SHA512:
6
- metadata.gz: d82bb06b312e475914857157dbe1288e8d9dfe7dfb93c43a9181b40698b0813d1728d0dfe3afae51be50e13b405eac11e15d3a73b27137950e3265b9e65ff97e
7
- data.tar.gz: b785fd8d5d2099d48a782f4029a014da600ca9cf6a3f95ce7062cc6f1fd30212b17607207b192c827e5b5c1aefd6d08457cf3f78d94c98dfcf2b672f7dedcbe8
6
+ metadata.gz: 22bb0e70a32862bfe33d6345982e6565d8b132bc4323aed57bb3b6294c37313de00bb8d72a1117f10dbe999c662c5402f8fa6c0453e95d57b4596948d3437d9c
7
+ data.tar.gz: 954cd2339e05932027807d958dfb64df0694f4eaabc16fccfc5a9bb8c693d4c055d3240db96c516f92792f982858bb7c5352913db9dd3711889eb80561f6bbe5
data/README.md CHANGED
@@ -7,6 +7,7 @@ A tool to use Rails Tagged Logging easily in your Ruby classes.
7
7
  [![Code Climate](https://codeclimate.com/github/prodis/rails-labeled_log/badges/gpa.svg)](https://codeclimate.com/github/prodis/rails-labeled_log)
8
8
  [![Dependency Status](https://gemnasium.com/prodis/rails-labeled_log.svg)](https://gemnasium.com/prodis/rails-labeled_log)
9
9
 
10
+
10
11
  ## Installing
11
12
 
12
13
  ### Gemfile
@@ -46,12 +47,16 @@ fake.do_something
46
47
 
47
48
  # You also can use class methods
48
49
  FakeModule::FakeClass.log_error 'Something was wrong'
50
+
51
+ # Optionally, you can supply additional labels for all log methods
52
+ FakeModule::FakeClass.log_warn 'Pay attention!', 'Warning'
49
53
  ```
50
54
 
51
- Rails log will be labeled with the class name:
55
+ Rails log will be labeled with the class name (and optinal additional labels):
52
56
  ```
53
57
  [FakeModule::FakeClass] I did something at 2015-09-21 00:33:17 -0300
54
58
  [FakeModule::FakeClass] Something was wrong at 2015-09-21 00:33:18 -0300
59
+ [FakeModule::FakeClass] [Warning] Pay attention! at 2015-09-21 00:33:19 -0300
55
60
  ```
56
61
 
57
62
  ##### Available (private) instance methods and class methods
@@ -68,10 +73,13 @@ require 'rails-labeled_log'
68
73
 
69
74
  logger = Rails::LabeledLog::Logger.new('One', 'Two')
70
75
  logger.info 'My info message'
76
+ logger.info 'My info message', 'Three', 'Four'
71
77
  ```
78
+
72
79
  In the Rails Log:
73
80
  ```
74
81
  [One] [Two] My info message at 2015-09-21 01:01:43 -0300
82
+ [One] [Two] [Three] [Four] My info message at 2015-09-21 01:01:44 -0300
75
83
  ```
76
84
 
77
85
  ##### Available methods
@@ -8,15 +8,15 @@ module Rails
8
8
  end
9
9
 
10
10
  LabeledLog::LEVELS.each do |level|
11
- define_method(level) do |message|
12
- log(level, message)
11
+ define_method(level) do |message, *additional_labels|
12
+ log(level, message, additional_labels)
13
13
  end
14
14
  end
15
15
 
16
16
  private
17
17
 
18
- def log(level, message)
19
- Rails.logger.tagged(*labels) do
18
+ def log(level, message, *additional_labels)
19
+ Rails.logger.tagged(*(labels + additional_labels)) do
20
20
  Rails.logger.send(level, format_message(message))
21
21
  end
22
22
  end
@@ -8,15 +8,15 @@ module Rails
8
8
 
9
9
  module ClassMethods
10
10
  Rails::LabeledLog::LEVELS.each do |level|
11
- define_method("log_#{level}".to_sym) do |message|
12
- log_labeled(level, message)
11
+ define_method("log_#{level}".to_sym) do |message, *additional_labels|
12
+ log_labeled(level, message, additional_labels)
13
13
  end
14
14
  end
15
15
 
16
16
  private
17
17
 
18
- def log_labeled(level, message)
19
- Rails::LabeledLog::Logger.new(self.name).send(level, message)
18
+ def log_labeled(level, message, *additional_labels)
19
+ Rails::LabeledLog::Logger.new(self.name).send(level, message, additional_labels)
20
20
  end
21
21
  end
22
22
 
@@ -31,8 +31,8 @@ module Rails
31
31
  private
32
32
 
33
33
  Rails::LabeledLog::LEVELS.each do |level|
34
- define_method("log_#{level}".to_sym) do |message|
35
- logger.send(level, message)
34
+ define_method("log_#{level}".to_sym) do |message, *additional_labels|
35
+ logger.send(level, message, additional_labels)
36
36
  end
37
37
  end
38
38
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module LabeledLog
3
- VERSION = '0.0.2'
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
@@ -18,4 +18,15 @@ describe Rails::LabeledLog::Logger do
18
18
  end
19
19
  end
20
20
  end
21
+
22
+ context 'when supplies additional labels' do
23
+ Rails::LabeledLog::LEVELS.each do |level|
24
+ describe "##{level}" do
25
+ it 'logs with labels and additional labels' do
26
+ subject.send(level, "Message for #{level}", 'Nina', 'Doki')
27
+ expect(@log_stream.string).to include("[Chefe] [Pixel] [Nina] [Doki] Message for #{level} at ")
28
+ end
29
+ end
30
+ end
31
+ end
21
32
  end
@@ -25,6 +25,17 @@ describe Rails::LabeledLog::Logging do
25
25
  end
26
26
  end
27
27
  end
28
+
29
+ context 'when supplies additional labels' do
30
+ Rails::LabeledLog::LEVELS.each do |level|
31
+ describe "#log_#{level}" do
32
+ it 'logs with class name and additional labels' do
33
+ subject.send("log_#{level}", "Message for #{level} in class methods", 'NewLabel')
34
+ expect(@log_stream.string).to include("[FakeModule::FakeClass] [NewLabel] Message for #{level} in class methods at ")
35
+ end
36
+ end
37
+ end
38
+ end
28
39
  end
29
40
 
30
41
  context 'instance methods' do
@@ -38,5 +49,16 @@ describe Rails::LabeledLog::Logging do
38
49
  end
39
50
  end
40
51
  end
52
+
53
+ context 'when supplies additional labels' do
54
+ Rails::LabeledLog::LEVELS.each do |level|
55
+ describe "#log_#{level}" do
56
+ it 'logs with class name and additional labels' do
57
+ subject.send("log_#{level}", "Message for #{level} in class methods", 'NewLabel')
58
+ expect(@log_stream.string).to include("[FakeModule::FakeClass] [NewLabel] Message for #{level} in class methods at ")
59
+ end
60
+ end
61
+ end
62
+ end
41
63
  end
42
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-labeled_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prodis a.k.a. Fernando Hamasaki de Amorim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-22 00:00:00.000000000 Z
11
+ date: 2015-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails