slogger 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- slogger (0.0.4)
4
+ slogger (0.0.6)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -12,14 +12,14 @@ module Slogger
12
12
  # That's all. The Rails application will log everything to the standard syslog.
13
13
  #
14
14
  class CommonLogger < Base
15
-
15
+
16
16
  SEVERITIES = {
17
- :unknow => Syslog::LOG_EMERG,
18
- :fatal => Syslog::LOG_ALERT,
19
- :error => Syslog::LOG_ERR,
20
- :warning => Syslog::LOG_WARNING,
17
+ :emerg => Syslog::LOG_EMERG,
18
+ :alert => Syslog::LOG_ALERT,
19
+ :err => Syslog::LOG_ERR,
21
20
  :info => Syslog::LOG_INFO,
22
- :debug => Syslog::LOG_DEBUG
21
+ :debug => Syslog::LOG_DEBUG,
22
+ :warn => Syslog::LOG_WARNING,
23
23
  }
24
24
 
25
25
  #
@@ -29,7 +29,7 @@ module Slogger
29
29
  :unknow => :emerg,
30
30
  :fatal => :alert,
31
31
  :error => :err,
32
- :warning => :warning,
32
+ :warn => :warning,
33
33
  :info => :info,
34
34
  :debug => :debug
35
35
  }
@@ -44,7 +44,7 @@ module Slogger
44
44
  #
45
45
  # +app_name+:: The appliaction name to be logged
46
46
  # +severity+:: The log severity (according to standard Ruby Logger): :unknow, :fatal,
47
- # :error, :warning, :info, or :debug. It can be changed at anytime.
47
+ # :error, :warn, :info, or :debug. It can be changed at anytime.
48
48
  # +facility+:: A typical syslog facility: :kernel, :user, :mail, :daemon, :auth,
49
49
  # :syslog, :lpr, :news, :uucp, :cron, :authpriv, :ftp,
50
50
  # :local0, :local1, :local2, :local3, :local4, :local5,
@@ -55,14 +55,26 @@ module Slogger
55
55
  def initialize(app_name, severity, facility)
56
56
  super app_name, severity, facility, SEVERITIES
57
57
  end
58
-
59
- SEVERITIES.each_key do |severity|
60
- define_method severity do |message, &block|
58
+
59
+ def log(severity, message = nil, &block)
60
+ if block_given? and message != nil
61
+ super(severity, message, &block)
62
+ else
63
+ super(severity, (message || (block_given? && block.call) || @app_name), &nil)
64
+ end
65
+ end
66
+
67
+ def add(severity, message = nil, &block)
68
+ log(BRIDGE_SEVERITIES[severity], message, &block)
69
+ end
70
+
71
+ BRIDGE_SEVERITIES.each_key do |severity|
72
+ define_method severity do |message = nil, &block|
61
73
  log BRIDGE_SEVERITIES[severity], message, &block
62
74
  end
63
75
 
64
76
  define_method "#{severity}?" do
65
- SEVERITIES[severity] <= SEVERITIES[@severity]
77
+ SEVERITIES[BRIDGE_SEVERITIES[severity]] <= SEVERITIES[BRIDGE_SEVERITIES[@severity]]
66
78
  end
67
79
  end
68
80
  end
@@ -2,7 +2,7 @@ module Slogger
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 5
5
+ PATCH = 6
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), "..", "/spec_helper")
2
2
 
3
3
  describe Slogger::CommonLogger do
4
4
  subject { Slogger::CommonLogger.new "test_app", :debug, :local0 }
5
-
5
+
6
6
  describe "valid state" do
7
7
  it "should have an app_name attribute" do
8
8
  subject.app_name.should == "test_app"
@@ -42,8 +42,8 @@ describe Slogger::CommonLogger do
42
42
  describe "severity setup" do
43
43
  it "should be possible to change severity attribute" do
44
44
  subject.severity.should be :debug
45
- subject.severity = :warning
46
- subject.severity.should be :warning
45
+ subject.severity = :warn
46
+ subject.severity.should be :warn
47
47
  subject.severity = :info
48
48
  subject.severity.should be :info
49
49
  end
@@ -54,9 +54,16 @@ describe Slogger::CommonLogger do
54
54
  end
55
55
 
56
56
  describe "logging" do
57
- describe "when is in WARNING severity" do
58
- subject { Slogger::CommonLogger.new "test_app", :warning, :local0 }
59
-
57
+ describe "when is in WARN severity" do
58
+ subject { Slogger::CommonLogger.new "test_app", :warn, :local0 }
59
+
60
+ it { should respond_to(:add) }
61
+
62
+ it "should log ERROR messsages with the add method" do
63
+ Syslog.should_receive(:err).with('ERROR message').and_return(Syslog)
64
+ subject.add(:error, 'ERROR message')
65
+ end
66
+
60
67
  it "should log UNKNOW messages" do
61
68
  Syslog.should_receive(:emerg).with(anything).and_return(Syslog)
62
69
 
@@ -74,11 +81,16 @@ describe Slogger::CommonLogger do
74
81
 
75
82
  subject.error "ERROR message"
76
83
  end
77
-
78
- it "should log WARNING messages" do
84
+
85
+ it "should log WARN messsages with the add method to the WARNING severity" do
86
+ Syslog.should_receive(:warning).with('WARN message').and_return(Syslog)
87
+ subject.add(:warn, 'WARN message')
88
+ end
89
+
90
+ it "should log WARN messages to the WARNING severity" do
79
91
  Syslog.should_receive(:warning).with(anything).and_return(Syslog)
80
92
 
81
- subject.warning "WARNING message"
93
+ subject.warn "WARN message"
82
94
  end
83
95
 
84
96
  it "shouldn't log INFO messages" do
@@ -97,11 +109,26 @@ describe Slogger::CommonLogger do
97
109
  end
98
110
  end
99
111
  end
100
-
112
+
113
+ describe "when no message is passed to the log method" do
114
+ it "should use the block to form the message" do
115
+ subject.severity = :info
116
+
117
+ messenger = mock('messenger')
118
+ messenger.should_receive(:message).and_return('this is a message %{name}')
119
+
120
+ Syslog.should_receive(:info).with('this is a message logger').and_return(Syslog)
121
+
122
+ subject.info { messenger.message % {:name => 'logger'} }
123
+ end
124
+ end
125
+
101
126
  describe "when a block is passed to log method" do
102
127
  it "should add spent time to the message" do
128
+ Syslog.should_receive(:info).with(/\[time: [0-9.]+\] a block wrapped by log/)
129
+
103
130
  subject.info "a block wrapped by log" do
104
- sleep(2)
131
+ sleep(1)
105
132
  end
106
133
  end
107
134
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slogger
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Leandro Silva
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-18 00:00:00 -03:00
18
+ date: 2011-08-24 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency