rails-labeled_log 0.0.2 → 0.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: 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