syslogger 1.2.7 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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