syslogger 1.2.6 → 1.2.7

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.rdoc CHANGED
@@ -40,11 +40,7 @@ Documentation available at <http://rdoc.info/github/crohr/syslogger/master/file/
40
40
 
41
41
  == Contributions
42
42
 
43
- * crhym3
44
- * theflow
45
- * smulube
46
- * levent
47
- * Flameeyes
43
+ See <https://github.com/crohr/syslogger/contributors>.
48
44
 
49
45
  == Copyright
50
46
 
data/lib/syslogger.rb CHANGED
@@ -3,7 +3,7 @@ require 'logger'
3
3
 
4
4
  class Syslogger
5
5
 
6
- VERSION = "1.2.6"
6
+ VERSION = "1.2.7"
7
7
 
8
8
  attr_reader :level, :ident, :options, :facility
9
9
 
@@ -50,6 +50,7 @@ class Syslogger
50
50
  # Accepting *args as message could be nil.
51
51
  # Default params not supported in ruby 1.8.7
52
52
  define_method logger_method.to_sym do |*args, &block|
53
+ return true if @level > Logger.const_get(logger_method.upcase)
53
54
  message = args.first || block && block.call
54
55
  add(Logger.const_get(logger_method.upcase), message)
55
56
  end
@@ -61,6 +62,11 @@ class Syslogger
61
62
  end
62
63
  end
63
64
 
65
+ # Log a message at the Logger::INFO level. Useful for use with Rack::CommonLogger
66
+ def write(msg)
67
+ add(Logger::INFO, msg)
68
+ end
69
+
64
70
  # Logs a message at the Logger::INFO level.
65
71
  def <<(msg)
66
72
  add(Logger::INFO, msg)
@@ -22,6 +22,7 @@ describe "Syslogger" do
22
22
 
23
23
  it "should log #{logger_method} without raising an exception if called with a block" do
24
24
  logger = Syslogger.new
25
+ logger.level = Logger.const_get(logger_method.upcase)
25
26
  Syslog.stub!(:open).and_yield(syslog=mock("syslog", :mask= => true))
26
27
  severity = Syslogger::MAPPING[Logger.const_get(logger_method.upcase)]
27
28
  syslog.should_receive(:log).with(severity, "Some message that doesn't need to be in a block")
@@ -45,6 +46,24 @@ describe "Syslogger" do
45
46
  end
46
47
  end
47
48
 
49
+ %w{debug info warn error}.each do |logger_method|
50
+ it "should not log #{logger_method} when level is higher" do
51
+ logger = Syslogger.new
52
+ logger.level = Logger::FATAL
53
+ Syslog.should_not_receive(:open).with($0, Syslog::LOG_PID | Syslog::LOG_CONS, nil).and_yield(syslog=mock("syslog", :mask= => true))
54
+ syslog.should_not_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
55
+ logger.send(logger_method.to_sym, "Some message")
56
+ end
57
+
58
+ it "should not evaluate a block or log #{logger_method} when level is higher" do
59
+ logger = Syslogger.new
60
+ logger.level = Logger::FATAL
61
+ Syslog.should_not_receive(:open).with($0, Syslog::LOG_PID | Syslog::LOG_CONS, nil).and_yield(syslog=mock("syslog", :mask= => true))
62
+ syslog.should_not_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
63
+ logger.send(logger_method.to_sym) { violated "This block should not have been called" }
64
+ end
65
+ end
66
+
48
67
  it "should respond to <<" do
49
68
  logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
50
69
  logger.should respond_to(:<<)
@@ -53,6 +72,14 @@ describe "Syslogger" do
53
72
  logger << "yop"
54
73
  end
55
74
 
75
+ it "should respond to write" do
76
+ logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
77
+ logger.should respond_to(:write)
78
+ Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
79
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "yop")
80
+ logger.write "yop"
81
+ end
82
+
56
83
  describe "add" do
57
84
  before do
58
85
  @logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syslogger
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 6
10
- version: 1.2.6
9
+ - 7
10
+ version: 1.2.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Cyril Rohr
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-27 00:00:00 +01:00
18
+ date: 2012-03-19 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency