syslogger 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.2.0
data/lib/syslogger.rb CHANGED
@@ -35,13 +35,22 @@ class Syslogger
35
35
 
36
36
  %w{debug info warn error fatal unknown}.each do |logger_method|
37
37
  define_method logger_method.to_sym do |message|
38
- Syslog.open(@ident, @options, @facility) { |s|
39
- s.mask = Syslog::LOG_UPTO(MAPPING[@level])
40
- s.log(MAPPING[Logger.const_get(logger_method.upcase)], message)
41
- }
38
+ add(Logger.const_get(logger_method.upcase), message)
42
39
  end
43
40
  end
44
41
 
42
+ def <<(msg)
43
+ add(Logger::INFO, msg)
44
+ end
45
+
46
+ def add(severity, message = nil, progname = nil, &block)
47
+ progname ||= @ident
48
+ Syslog.open(progname, @options, @facility) { |s|
49
+ s.mask = Syslog::LOG_UPTO(MAPPING[@level])
50
+ s.log(MAPPING[severity], (message || block.call))
51
+ }
52
+ end
53
+
45
54
  def level=(logger_level)
46
55
  @level = logger_level
47
56
  end
@@ -21,5 +21,36 @@ describe "Syslogger" do
21
21
  end
22
22
  end
23
23
 
24
+ it "should respond to <<" do
25
+ logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
26
+ logger.should respond_to(:<<)
27
+ Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
28
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "yop")
29
+ logger << "yop"
30
+ end
31
+
32
+ describe "add" do
33
+ before do
34
+ @logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
35
+ end
36
+ it "should respond to add" do
37
+ @logger.should respond_to(:add)
38
+ end
39
+ it "should correctly log" do
40
+ Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
41
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "message")
42
+ @logger.add(Logger::INFO, "message")
43
+ end
44
+ it "should take the message from the block if :message is nil" do
45
+ Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
46
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "my message")
47
+ @logger.add(Logger::INFO) { "my message" }
48
+ end
49
+ it "should use the given progname" do
50
+ Syslog.should_receive(:open).with("progname", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
51
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "message")
52
+ @logger.add(Logger::INFO, "message", "progname") { "my message" }
53
+ end
54
+ end
24
55
  # TODO: test logger level
25
56
  end
data/syslogger.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{syslogger}
8
- s.version = "1.1.0"
8
+ s.version = "1.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Cyril Rohr"]
12
- s.date = %q{2010-03-05}
12
+ s.date = %q{2010-03-10}
13
13
  s.description = %q{Same as SyslogLogger, but without the ridiculous number of dependencies and with the possibility to specify the syslog facility}
14
14
  s.email = %q{cyril.rohr@gmail.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syslogger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Rohr
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-05 00:00:00 +01:00
12
+ date: 2010-03-10 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency