teelogger 0.2.0 → 0.3.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: e3fd651818a8e11a6ad874d35362838ed39da690
4
- data.tar.gz: d627b5c6b302d20bd190cbfa6165f39e1aa72940
3
+ metadata.gz: d9c8a99263a3785628fce130b7a1557eb0cc89dd
4
+ data.tar.gz: 8816398916355794b10a4c5a0bb47a0c710bd5cf
5
5
  SHA512:
6
- metadata.gz: 49cf31f0ff41a5ba0317eeb82315326c6c84d7c8bf0936fc7932da728d421427afbba4d51ec0975134932d25532c8f65936c2156fdcbca54c4ba3112d76af9cb
7
- data.tar.gz: c9052b12275d86b7d4b831c9cfba8163b0c94fe05d50fcf82ae4ae55be3e976c79f75e6a1ea37873b4b2148ca9485d05db2c521441bdc8390e5e59eed6c2016f
6
+ metadata.gz: 78d098f5fb1393b842b5356f2eb4629ccaaf6d332e0c5976200f410e385a6498116e217e2f36aebc289977be130202295365d5aa271d781177766e2481933ce6
7
+ data.tar.gz: 57f4f91f1a68473af37473c968e2b4f221db3b5a901566e6f2ee0f184606af332ba52e3d5480df8aee277ab38ac138352b87e3eb5c1c0dc2a52e71077896f626
@@ -40,3 +40,19 @@ Feature: Logger
40
40
  Scenario: multiple loggers
41
41
  Given I create a TeeLogger with multiple loggers
42
42
  Then I expect the class to let me access all loggers like a hash
43
+
44
+ @logger_04
45
+ Scenario Outline: Default logger without setting level
46
+ Given I create a TeeLogger with default parameters
47
+ And I write a log message at log level "<level>"
48
+ Then I expect the log level "<level>" to <condition> taken hold
49
+ And I expect the log message to appear on the screen
50
+
51
+ Examples:
52
+ | level | condition |
53
+ | DEBUG | not have |
54
+ | INFO | have |
55
+ | WARN | have |
56
+ | ERROR | have |
57
+ | FATAL | have |
58
+
@@ -25,11 +25,16 @@ Then(/^I expect the log message to appear on the screen$/) do
25
25
  puts "Can't test this; please check manually"
26
26
  end
27
27
 
28
- Then(/^I expect the log level "(.*?)" to have taken hold$/) do |level|
28
+ Then(/^I expect the log level "(.*?)" to (.*?) taken hold$/) do |level, condition|
29
29
  meth = "#{level.downcase}?".to_sym
30
30
  res = logger.send(meth)
31
31
 
32
- assert res, "Log level not active!"
32
+ assert res, "Bad results!"
33
+ if 'have' === condition
34
+ assert res[0], "Log level not active!"
35
+ else
36
+ assert !res[0], "Log level is active!"
37
+ end
33
38
  end
34
39
 
35
40
 
@@ -6,5 +6,5 @@
6
6
  # All rights reserved.
7
7
  #
8
8
  module TeeLogger
9
- VERSION = "0.2.0"
9
+ VERSION = "0.3.0"
10
10
  end
data/lib/teelogger.rb CHANGED
@@ -30,7 +30,7 @@ module TeeLogger
30
30
  # end
31
31
  # end
32
32
  class TeeLogger
33
- @default_level = Logger::Severity::INFO
33
+ @default_level
34
34
  @loggers
35
35
 
36
36
  ##
@@ -54,7 +54,7 @@ module TeeLogger
54
54
  def self.convert_level(val)
55
55
  if val.is_a? String
56
56
  begin
57
- val = Logger.const_get(val)
57
+ val = Logger.const_get(val.upcase)
58
58
  rescue NameError
59
59
  val = Logger::Severity::WARN
60
60
  end
@@ -108,6 +108,7 @@ module TeeLogger
108
108
  end
109
109
 
110
110
  # Initialization
111
+ @default_level = Logger::Severity::INFO
111
112
  @loggers = {}
112
113
 
113
114
  # Create logs for all arguments
@@ -148,8 +149,9 @@ module TeeLogger
148
149
  dispatch(meth, *args, &block)
149
150
  }
150
151
  if "unknown" != meth
151
- define_method("#{meth}?") { |*args, &block|
152
- dispatch(meth, *args, &block)
152
+ query = "#{meth}?"
153
+ define_method(query) { |*args, &block|
154
+ dispatch(query, *args, &block)
153
155
  }
154
156
  end
155
157
  end
@@ -192,19 +194,25 @@ module TeeLogger
192
194
  end
193
195
 
194
196
  # Compose message
195
- message = ""
196
- args.each do |arg|
197
- message += arg.inspect
197
+ msg = args.map do |arg|
198
+ if arg.is_a? String
199
+ arg
200
+ else
201
+ arg.inspect
202
+ end
198
203
  end
204
+ message = msg.join("|")
199
205
 
200
206
  # Try to write the message to all loggers.
201
207
  ret = []
202
208
  @loggers.each do |key, logger|
203
209
  if logger.respond_to? meth_name
204
210
  if args.length > 0
205
- ret << logger.send(meth_name, "[#{key}] #{message}", &block)
211
+ ret << logger.send(meth_name, key) do
212
+ message
213
+ end
206
214
  else
207
- ret << logger.send(meth_name, *args, &block)
215
+ ret << logger.send(meth_name, &block)
208
216
  end
209
217
  end
210
218
  end
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teelogger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Finkhaeuser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cucumber
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Mini wrapper around Ruby Logger for logging to multiple destinations.
@@ -73,8 +73,8 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - .gitignore
77
- - .travis.yml
76
+ - ".gitignore"
77
+ - ".travis.yml"
78
78
  - Gemfile
79
79
  - LICENSE
80
80
  - README.md
@@ -95,17 +95,17 @@ require_paths:
95
95
  - lib
96
96
  required_ruby_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - '>='
98
+ - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '>='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.4.3
108
+ rubygems_version: 2.0.3
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Mini wrapper around Ruby Logger for logging to multiple destinations.