syslogger 1.0.0 → 1.1.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
data/lib/syslogger.rb CHANGED
@@ -2,12 +2,14 @@ require 'syslog'
2
2
  require 'logger'
3
3
 
4
4
  class Syslogger
5
+ attr_reader :level, :ident, :options, :facility
6
+
5
7
  MAPPING = {
6
8
  Logger::DEBUG => Syslog::LOG_DEBUG,
7
9
  Logger::INFO => Syslog::LOG_INFO,
8
- Logger::WARN => Syslog::LOG_WARNING,
9
- Logger::ERROR => Syslog::LOG_ERR,
10
- Logger::FATAL => Syslog::LOG_EMERG,
10
+ Logger::WARN => Syslog::LOG_NOTICE,
11
+ Logger::ERROR => Syslog::LOG_WARNING,
12
+ Logger::FATAL => Syslog::LOG_ERR,
11
13
  Logger::UNKNOWN => Syslog::LOG_ALERT
12
14
  }
13
15
  #
@@ -15,24 +17,32 @@ class Syslogger
15
17
  # <tt>ident</tt>:: the name of your program [default=$0]
16
18
  # <tt>options</tt>:: Syslog options [default=Syslog::LOG_PID | Syslog::LOG_CONS]
17
19
  # <tt>facility</tt>:: the syslog facility [default=nil]
20
+ #
18
21
  # correct values are Syslog::LOG_DAEMON, Syslog::LOG_USER, Syslog::LOG_SYSLOG, Syslog::LOG_LOCAL2, Syslog::LOG_NEWS, etc.
19
22
  #
20
23
  # Usage:
21
- # logger = Syslog
24
+ # logger = Syslogger.new("my_app", Syslog::LOG_PID | Syslog::LOG_CONS, Syslog::LOG_LOCAL0)
25
+ # logger.level = Logger::INFO # use Logger levels
26
+ # logger.warn "warning message"
27
+ # logger.debug "debug message"
28
+ #
22
29
  def initialize(ident = $0, options = Syslog::LOG_PID | Syslog::LOG_CONS, facility = nil)
23
30
  @ident = ident
24
31
  @options = options || (Syslog::LOG_PID | Syslog::LOG_CONS)
25
32
  @facility = facility
33
+ @level = Logger::INFO
26
34
  end
27
35
 
28
36
  %w{debug info warn error fatal unknown}.each do |logger_method|
29
- # {:debug => :debug, :info => :info, :warn => :warning, :error => :err, :fatal => :emerg, :unknown => :alert}.each do |logger_method, syslog_method|
30
37
  define_method logger_method.to_sym do |message|
31
- Syslog.open(@ident, @options, @facility) { |s| s.log(MAPPING[Logger.const_get(logger_method.upcase)], 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
+ }
32
42
  end
33
43
  end
34
44
 
35
45
  def level=(logger_level)
36
- Syslog.mask = Syslog::LOG_UPTO(MAPPING.invert[logger_level])
46
+ @level = logger_level
37
47
  end
38
48
  end
@@ -3,16 +3,15 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
  describe "Syslogger" do
4
4
  it "should log to the default syslog facility, with the default options" do
5
5
  logger = Syslogger.new
6
- logger.should respond_to(:error)
7
- Syslog.should_receive(:open).with($0, Syslog::LOG_PID | Syslog::LOG_CONS, nil).and_yield(syslog=mock("syslog"))
8
- syslog.should_receive(:log).with(Syslog::LOG_WARNING, "Some message")
6
+ Syslog.should_receive(:open).with($0, Syslog::LOG_PID | Syslog::LOG_CONS, nil).and_yield(syslog=mock("syslog", :mask= => true))
7
+ syslog.should_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
9
8
  logger.warn "Some message"
10
9
  end
11
10
 
12
11
  it "should log to the user facility, with specific options" do
13
12
  logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
14
- Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog"))
15
- syslog.should_receive(:log).with(Syslog::LOG_WARNING, "Some message")
13
+ Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
14
+ syslog.should_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
16
15
  logger.warn "Some message"
17
16
  end
18
17
 
@@ -21,4 +20,6 @@ describe "Syslogger" do
21
20
  Syslogger.new.should respond_to logger_method.to_sym
22
21
  end
23
22
  end
23
+
24
+ # TODO: test logger level
24
25
  end
data/syslogger.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{syslogger}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.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"]
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.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Rohr