syslogger 1.2.7 → 1.3.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.
Files changed (4) hide show
  1. data/README.rdoc +8 -1
  2. data/Rakefile +3 -0
  3. data/lib/syslogger.rb +12 -8
  4. metadata +61 -79
data/README.rdoc CHANGED
@@ -4,6 +4,8 @@ A drop-in replacement for the standard Logger Ruby library, that logs to the
4
4
  syslog instead of a log file. Contrary to the SyslogLogger library, you can
5
5
  specify the facility and the syslog options.
6
6
 
7
+ {<img src="https://secure.travis-ci.org/crohr/syslogger.png?branch=master" alt="Build Status" />}[http://travis-ci.org/crohr/syslogger]
8
+
7
9
  == Installation
8
10
 
9
11
  $ gem install syslogger
@@ -28,7 +30,8 @@ Documentation available at <http://rdoc.info/github/crohr/syslogger/master/file/
28
30
 
29
31
  * Install development dependencies:
30
32
 
31
- $ gem install rake rdoc rspec
33
+ $ gem install bundler
34
+ $ bundle install
32
35
 
33
36
  * Run tests:
34
37
 
@@ -38,6 +41,10 @@ Documentation available at <http://rdoc.info/github/crohr/syslogger/master/file/
38
41
 
39
42
  $ gem build syslogger.gemspec
40
43
 
44
+ == Changelog
45
+
46
+ See <https://github.com/crohr/syslogger/commits/master>.
47
+
41
48
  == Contributions
42
49
 
43
50
  See <https://github.com/crohr/syslogger/contributors>.
data/Rakefile CHANGED
@@ -1,3 +1,6 @@
1
+ require 'bundler'
2
+ Bundler.require
3
+
1
4
  require 'rspec/core/rake_task'
2
5
  require 'rdoc/task'
3
6
 
data/lib/syslogger.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  require 'syslog'
2
2
  require 'logger'
3
+ require 'thread'
3
4
 
4
5
  class Syslogger
5
6
 
6
- VERSION = "1.2.7"
7
+ VERSION = "1.3.0"
7
8
 
8
9
  attr_reader :level, :ident, :options, :facility
9
10
 
@@ -44,6 +45,7 @@ class Syslogger
44
45
  @options = options || (Syslog::LOG_PID | Syslog::LOG_CONS)
45
46
  @facility = facility
46
47
  @level = Logger::INFO
48
+ @mutex = Mutex.new
47
49
  end
48
50
 
49
51
  %w{debug info warn error fatal unknown}.each do |logger_method|
@@ -80,13 +82,15 @@ class Syslogger
80
82
  # +progname+:: optionally, overwrite the program name that appears in the log message.
81
83
  def add(severity, message = nil, progname = nil, &block)
82
84
  progname ||= @ident
83
- Syslog.open(progname, @options, @facility) { |s|
84
- s.mask = Syslog::LOG_UPTO(MAPPING[@level])
85
- s.log(
86
- MAPPING[severity],
87
- clean(message || (block && block.call) || progname)
88
- )
89
- }
85
+ @mutex.synchronize do
86
+ Syslog.open(progname, @options, @facility) do |s|
87
+ s.mask = Syslog::LOG_UPTO(MAPPING[@level])
88
+ s.log(
89
+ MAPPING[severity],
90
+ clean(message || (block && block.call) || progname)
91
+ )
92
+ end
93
+ end
90
94
  end
91
95
 
92
96
  # Sets the minimum level for messages to be written in the log.
metadata CHANGED
@@ -1,121 +1,103 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: syslogger
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 7
10
- version: 1.2.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Cyril Rohr
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-19 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-04-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 25
30
- segments:
31
- - 0
32
- - 9
33
- version: "0.9"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.9'
34
22
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rspec
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.9'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
40
33
  none: false
41
- requirements:
34
+ requirements:
42
35
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 2
47
- - 0
48
- version: "2.0"
36
+ - !ruby/object:Gem::Version
37
+ version: '2.0'
49
38
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: rdoc
53
39
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
55
41
  none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 27
60
- segments:
61
- - 2
62
- - 4
63
- - 2
64
- version: 2.4.2
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rdoc
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
65
54
  type: :development
66
- version_requirements: *id003
67
- description: Same as SyslogLogger, but without the ridiculous number of dependencies and with the possibility to specify the syslog facility
68
- email:
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Same as SyslogLogger, but without the ridiculous number of dependencies
63
+ and with the possibility to specify the syslog facility
64
+ email:
69
65
  - cyril.rohr@gmail.com
70
66
  executables: []
71
-
72
67
  extensions: []
73
-
74
68
  extra_rdoc_files: []
75
-
76
- files:
69
+ files:
77
70
  - lib/syslogger.rb
78
71
  - spec/spec_helper.rb
79
72
  - spec/syslogger_spec.rb
80
73
  - Rakefile
81
74
  - LICENSE
82
75
  - README.rdoc
83
- has_rdoc: true
84
76
  homepage: http://github.com/crohr/syslogger
85
77
  licenses: []
86
-
87
78
  post_install_message:
88
- rdoc_options:
79
+ rdoc_options:
89
80
  - --charset=UTF-8
90
- require_paths:
81
+ require_paths:
91
82
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
93
84
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 31
98
- segments:
99
- - 1
100
- - 8
101
- version: "1.8"
102
- required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '1.8'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
90
  none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 9
108
- segments:
109
- - 1
110
- - 3
111
- version: "1.3"
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '1.3'
112
95
  requirements: []
113
-
114
96
  rubyforge_project:
115
- rubygems_version: 1.6.2
97
+ rubygems_version: 1.8.21
116
98
  signing_key:
117
99
  specification_version: 3
118
100
  summary: Dead simple Ruby Syslog logger
119
- test_files:
101
+ test_files:
120
102
  - spec/spec_helper.rb
121
103
  - spec/syslogger_spec.rb