takihiro-simple_syslog_logger 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -0,0 +1,21 @@
1
+ = simple_syslog_logger
2
+
3
+ * http://github.com/takihiro/simple_syslog_logger/
4
+
5
+ == Description
6
+
7
+ == Install
8
+
9
+ % [sudo] gem install takihiro-simple_syslog_logger
10
+
11
+ == Usage
12
+
13
+ Add the following line to config/environment.rb:
14
+
15
+ config.gem 'takihiro-simple_syslog_logger', :lib => 'simple_syslog_logger'
16
+
17
+ and the following lines to config/environments/production.rb:
18
+
19
+ config.logger = SimpleSyslogLogger.new('ident', nil, Syslog::LOG_LOCAL1)
20
+ config.logger.level = Syslog::LOG_ERR
21
+
@@ -26,7 +26,7 @@ class SimpleSyslogLogger
26
26
 
27
27
  def add(severity, message = nil, progname = nil, &block)
28
28
  message = (message || (block && block.call) || progname).to_s
29
- @syslog.log(severity, message)
29
+ @syslog.log(severity, clean_message(message))
30
30
  end
31
31
 
32
32
  def level=(level)
@@ -76,4 +76,8 @@ class SimpleSyslogLogger
76
76
  end
77
77
  end
78
78
 
79
+ def clean_message(message)
80
+ message.gsub(/%/, '%%')
81
+ end
82
+
79
83
  end
@@ -27,6 +27,25 @@ describe SimpleSyslogLogger do
27
27
 
28
28
  end
29
29
 
30
+ describe 'add' do
31
+
32
+ before :each do
33
+ @syslog_mock = mock('syslog')
34
+ Syslog.stub!(:open => @syslog_mock)
35
+ @logger = SimpleSyslogLogger.new
36
+ end
37
+
38
+ it "should replace '%' to '%%' because syslog behave like printf" do
39
+ level = Syslog::LOG_ERR
40
+ @syslog_mock.should_receive(:log).with(level, '%%').ordered
41
+ @syslog_mock.should_receive(:log).with(level, 'a %% b %% c').ordered
42
+
43
+ @logger.add(level, '%')
44
+ @logger.add(level, 'a % b % c')
45
+ end
46
+
47
+ end
48
+
30
49
  describe 'level' do
31
50
 
32
51
  before :each do
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroaki Takisawa
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-15 00:00:00 -08:00
12
+ date: 2009-02-20 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency