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.
- data/lib/simple_syslog_logger.rb +31 -26
- data/spec/simple_syslog_logger_spec.rb +37 -7
- metadata +2 -2
data/lib/simple_syslog_logger.rb
CHANGED
@@ -3,21 +3,23 @@ require 'active_support'
|
|
3
3
|
|
4
4
|
class SimpleSyslogLogger
|
5
5
|
|
6
|
-
VERSION = '0.0.
|
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
|
-
|
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
|
-
|
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
|
-
|
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 :
|
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
|
-
|
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
|
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
|
+
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:
|
16
|
+
name: activesupport
|
17
17
|
type: :runtime
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|