teelogger 0.2.0 → 0.3.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: 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.