takihiro-simple_syslog_logger 0.0.5 → 0.0.6

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/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