takihiro-simple_syslog_logger 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,21 +3,23 @@ require 'active_support'
3
3
 
4
4
  class SimpleSyslogLogger
5
5
 
6
- VERSION = '0.0.4'
6
+ VERSION = '0.0.5'
7
+
8
+ DEFAULT_MAP = {
9
+ :fatal => Syslog::LOG_ALERT,
10
+ :error => Syslog::LOG_ERR,
11
+ :warn => Syslog::LOG_WARNING,
12
+ :info => Syslog::LOG_INFO,
13
+ :debug => Syslog::LOG_DEBUG,
14
+ :unknown => Syslog::LOG_DEBUG,
15
+ }
7
16
 
8
17
  def initialize(ident='', options=nil, facility=nil)
9
18
  @syslog = Syslog.open(ident, options, facility)
10
- @logger_map = {
11
- :fatal => Syslog::LOG_ALERT,
12
- :error => Syslog::LOG_ERR,
13
- :warn => Syslog::LOG_WARNING,
14
- :info => Syslog::LOG_INFO,
15
- :debug => Syslog::LOG_DEBUG,
16
- :unknown => Syslog::LOG_DEBUG,
17
- }
19
+ @logger_map = DEFAULT_MAP.dup
18
20
 
19
21
  self.level = @logger_map[:debug]
20
- update_logger_map
22
+ update_log_methods
21
23
  end
22
24
 
23
25
  attr_reader :level
@@ -29,26 +31,12 @@ class SimpleSyslogLogger
29
31
 
30
32
  def level=(level)
31
33
  @level = level
32
- @logger_map.each do |severity, syslog_severity|
33
- instance_eval <<-SRC
34
- def #{severity}?
35
- #{syslog_severity <= @level ? 'true' : 'false'}
36
- end
37
- SRC
38
- end
34
+ update_log_methods
39
35
  end
40
36
 
41
37
  def update_logger_map(map={})
42
38
  @logger_map.update(map)
43
- @logger_map.each do |severity, syslog_severity|
44
- instance_eval <<-SRC
45
- def #{severity}(message = nil, progname = nil, &block)
46
- #{syslog_severity <= @level ?
47
- "add(#{syslog_severity}, message, progname, &block)" :
48
- 'true'}
49
- end
50
- SRC
51
- end
39
+ update_log_methods
52
40
  end
53
41
 
54
42
  cattr_accessor :silencer
@@ -71,4 +59,21 @@ class SimpleSyslogLogger
71
59
  @syslog = nil
72
60
  end
73
61
 
62
+ private
63
+ def update_log_methods
64
+ @logger_map.each do |severity, sval|
65
+ instance_eval <<-SRC
66
+ def #{severity}(message = nil, progname = nil, &block)
67
+ #{sval <= @level ?
68
+ "add(#{sval}, message, progname, &block)" :
69
+ 'true'}
70
+ end
71
+
72
+ def #{severity}?
73
+ #{sval <= @level ? 'true' : 'false'}
74
+ end
75
+ SRC
76
+ end
77
+ end
78
+
74
79
  end
@@ -3,6 +3,10 @@ require 'spec'
3
3
  require 'simple_syslog_logger'
4
4
 
5
5
  describe SimpleSyslogLogger do
6
+
7
+ SORTED_MAP = SimpleSyslogLogger::DEFAULT_MAP.to_a.sort do |p1, p2|
8
+ p2[1] <=> p1[1]
9
+ end
6
10
 
7
11
  it 'should have version constant' do
8
12
  SimpleSyslogLogger::VERSION.should match(/\d+\.\d+\.\d+/)
@@ -25,14 +29,11 @@ describe SimpleSyslogLogger do
25
29
 
26
30
  describe 'level' do
27
31
 
28
- before :all do
32
+ before :each do
33
+ Syslog.stub!(:open => stub('syslog'))
29
34
  @logger = SimpleSyslogLogger.new
30
35
  end
31
36
 
32
- after :all do
33
- @logger.close
34
- end
35
-
36
37
  it 'should get current level' do
37
38
  @logger.should respond_to(:level)
38
39
  end
@@ -50,7 +51,7 @@ describe SimpleSyslogLogger do
50
51
  @logger = SimpleSyslogLogger.new
51
52
  end
52
53
 
53
- [:fatal, :error, :warn, :info, :debug, :unknown].each do |severity|
54
+ SORTED_MAP.each do |severity, sval|
54
55
 
55
56
  it "should have ##{severity}" do
56
57
  @logger.should respond_to(severity)
@@ -64,6 +65,35 @@ describe SimpleSyslogLogger do
64
65
 
65
66
  end
66
67
 
68
+ SORTED_MAP.each do |severity, sval|
69
+
70
+ describe "level is #{severity}" do
71
+
72
+ before :each do
73
+ @syslog_mock = mock('syslog')
74
+ Syslog.stub!(:open => @syslog_mock)
75
+ @logger = SimpleSyslogLogger.new
76
+ @logger.level = sval
77
+ end
78
+
79
+ SORTED_MAP.each do |s, v|
80
+ if v <= sval
81
+ it "##{s.to_s.ljust(7)} is send log to syslog" do
82
+ @syslog_mock.should_receive(:log).with(v, an_instance_of(String))
83
+ @logger.send(s, 'message')
84
+ end
85
+ else
86
+ it "##{s.to_s.ljust(7)} is only return true" do
87
+ @syslog_mock.should_not_receive(:log)
88
+ @logger.send(s, 'message').should be_true
89
+ end
90
+ end
91
+ end
92
+
93
+ end
94
+
95
+ end
96
+
67
97
  describe 'silencer' do
68
98
 
69
99
  before :each do
@@ -92,7 +122,7 @@ describe SimpleSyslogLogger do
92
122
  @logger.level.should == Syslog::Constants::LOG_DEBUG
93
123
  end
94
124
 
95
- it 'should send message which specify silence is meaningless in SimpleSyslogLogger' do
125
+ it 'should send message which specify silence is meaningless' do
96
126
  @logger.should_receive(:add).with(Syslog::LOG_DEBUG, an_instance_of(String))
97
127
  @logger.silence(Syslog::Constants::LOG_ERR) {|tmp_logger| }
98
128
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: takihiro-simple_syslog_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroaki Takisawa
@@ -13,7 +13,7 @@ date: 2009-02-15 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: <activesupport>
16
+ name: activesupport
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement