takihiro-simple_syslog_logger 0.0.4 → 0.0.5

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.
@@ -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