logging 0.4.0 → 0.5.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.
@@ -0,0 +1,192 @@
1
+ # $Id: test_syslog.rb 46 2007-10-31 14:39:01Z tim_pease $
2
+
3
+ require 'test/setup.rb'
4
+
5
+ module TestLogging
6
+ module TestAppenders
7
+
8
+ class TestSyslog < Test::Unit::TestCase
9
+ include LoggingTestCase
10
+ include ::Syslog::Constants
11
+
12
+ def setup
13
+ super
14
+ ::Logging.define_levels %w(debug info warn error fatal)
15
+ @levels = ::Logging::LEVELS
16
+ end
17
+
18
+ def teardown
19
+ ::Syslog.close if ::Syslog.opened?
20
+ end
21
+
22
+ def test_append
23
+ return if RUBY_PLATFORM =~ %r/cygwin/
24
+
25
+ stderr = IO::pipe
26
+
27
+ pid = fork do
28
+ stderr[0].close
29
+ STDERR.reopen(stderr[1])
30
+ stderr[1].close
31
+
32
+ appender = create_syslog
33
+ event = ::Logging::LogEvent.new('TestLogger', @levels['info'],
34
+ [1, 2, 3, 4], false)
35
+ appender.append event
36
+ event.level = @levels['debug']
37
+ event.data = 'the big log message'
38
+ appender.append event
39
+
40
+ appender.level = :warn
41
+ event.level = @levels['info']
42
+ event.data = 'this message should not get logged'
43
+ appender.append event
44
+ event.level = @levels['warn']
45
+ event.data = 'this is your last warning'
46
+ appender.append event
47
+
48
+ exit!
49
+ end
50
+
51
+ stderr[1].close
52
+ Process.waitpid(pid)
53
+
54
+ assert_equal("syslog_test: INFO TestLogger : <Array> 1234\n",
55
+ stderr[0].gets)
56
+ assert_equal("syslog_test: DEBUG TestLogger : the big log message\n",
57
+ stderr[0].gets)
58
+ assert_equal("syslog_test: WARN TestLogger : this is your last warning\n",
59
+ stderr[0].gets)
60
+ end
61
+
62
+ def test_append_error
63
+ appender = create_syslog
64
+ appender.close
65
+
66
+ event = ::Logging::LogEvent.new('TestLogger', @levels['warn'],
67
+ [1, 2, 3, 4], false)
68
+ assert_raise(RuntimeError) {appender.append event}
69
+ assert_equal true, appender.closed?
70
+ end
71
+
72
+ def test_close
73
+ appender = create_syslog
74
+ assert_equal false, appender.closed?
75
+
76
+ appender.close
77
+ assert_equal true, appender.closed?
78
+ end
79
+
80
+ def test_concat
81
+ return if RUBY_PLATFORM =~ %r/cygwin/
82
+
83
+ stderr = IO::pipe
84
+
85
+ pid = fork do
86
+ stderr[0].close
87
+ STDERR.reopen(stderr[1])
88
+ stderr[1].close
89
+
90
+ appender = create_syslog
91
+ appender << 'this is a test message'
92
+ appender << 'this is another message'
93
+ appender << 'some other line'
94
+
95
+ exit!
96
+ end
97
+
98
+ stderr[1].close
99
+ Process.waitpid(pid)
100
+
101
+ assert_equal("syslog_test: this is a test message\n", stderr[0].gets)
102
+ assert_equal("syslog_test: this is another message\n", stderr[0].gets)
103
+ assert_equal("syslog_test: some other line\n", stderr[0].gets)
104
+ end
105
+
106
+ def test_concat_error
107
+ appender = create_syslog
108
+ appender.close
109
+
110
+ assert_raise(RuntimeError) {appender << 'oopsy'}
111
+ assert_equal true, appender.closed?
112
+ end
113
+
114
+ def test_map_eq
115
+ appender = create_syslog
116
+
117
+ assert_equal(
118
+ [LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERR, LOG_CRIT],
119
+ get_map_from(appender)
120
+ )
121
+
122
+ appender.map = {
123
+ :debug => LOG_DEBUG,
124
+ :info => 'LOG_NOTICE',
125
+ :warn => :LOG_WARNING,
126
+ :error => 'log_err',
127
+ :fatal => :log_alert
128
+ }
129
+
130
+ assert_equal(
131
+ [LOG_DEBUG, LOG_NOTICE, LOG_WARNING, LOG_ERR, LOG_ALERT],
132
+ get_map_from(appender)
133
+ )
134
+ end
135
+
136
+ def test_map_eq_error
137
+ appender = create_syslog
138
+
139
+ # Object is not a valid syslog level
140
+ assert_raise(ArgumentError) do
141
+ appender.map = {:debug => Object}
142
+ end
143
+
144
+ # there is no syslog level named "info"
145
+ # it should be "log_info"
146
+ assert_raise(NameError) do
147
+ appender.map = {:info => 'lg_info'}
148
+ end
149
+ end
150
+
151
+ def test_initialize_map
152
+ appender = ::Logging::Appenders::Syslog.new(
153
+ 'syslog_test',
154
+ :logopt => ::Syslog::LOG_PERROR | ::Syslog::LOG_NDELAY,
155
+ :map => {
156
+ :debug => :log_debug,
157
+ :info => :log_info,
158
+ :warn => :log_warning,
159
+ :error => :log_err,
160
+ :fatal => :log_alert
161
+ }
162
+ )
163
+
164
+ assert_equal(
165
+ [LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERR, LOG_ALERT],
166
+ get_map_from(appender)
167
+ )
168
+ end
169
+
170
+
171
+ private
172
+
173
+ def create_syslog
174
+ layout = ::Logging::Layouts::Pattern.new(:pattern => '%5l %c : %m')
175
+ ::Logging::Appenders::Syslog.new(
176
+ 'syslog_test',
177
+ :logopt => ::Syslog::LOG_PERROR | ::Syslog::LOG_NDELAY,
178
+ :facility => ::Syslog::LOG_USER,
179
+ :layout => layout
180
+ )
181
+ end
182
+
183
+ def get_map_from( syslog )
184
+ syslog.instance_variable_get :@map
185
+ end
186
+
187
+ end # class TestIO
188
+
189
+ end # module TestAppenders
190
+ end # module TestLogging
191
+
192
+ # EOF
@@ -1,14 +1,17 @@
1
- # $Id: benchmark.rb 34 2007-02-28 21:42:41Z tim_pease $
1
+ # $Id: benchmark.rb 46 2007-10-31 14:39:01Z tim_pease $
2
2
 
3
3
  begin
4
4
  require 'logging'
5
5
  rescue LoadError
6
- require 'rubygems'
7
- require 'logging'
6
+ path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ raise if $:.include? path
8
+ $: << path
9
+ retry
8
10
  end
9
11
 
10
12
  begin
11
13
  require 'rubygems'
14
+ gem 'log4r'
12
15
  require 'log4r'
13
16
  $log4r = true
14
17
  rescue LoadError
@@ -36,7 +39,13 @@ module Logging
36
39
  log4r = if $log4r
37
40
  x = ::Log4r::Logger.new('benchmark')
38
41
  x.level = ::Log4r::WARN
39
- x.add ::Log4r::IOOutputter.new('benchmark', sio)
42
+ x.add ::Log4r::IOOutputter.new(
43
+ 'benchmark', sio,
44
+ :formatter => ::Log4r::PatternFormatter.new(
45
+ :pattern => "%.1l, [%d #\#{Process.pid}] %5l : %M\n",
46
+ :date_pattern => "%Y-%m-%dT%H:%M:%S.\#{Time.now.usec}"
47
+ )
48
+ )
40
49
  x
41
50
  end
42
51
 
@@ -1,4 +1,4 @@
1
- # $Id: test_yaml_configurator.rb 22 2007-01-29 16:20:54Z tim_pease $
1
+ # $Id: test_yaml_configurator.rb 38 2007-10-26 20:05:51Z tim_pease $
2
2
 
3
3
  require 'stringio'
4
4
  require 'yaml'
@@ -20,7 +20,7 @@ module TestConfig
20
20
  }
21
21
 
22
22
  begin
23
- fd = File.open('examples/logging.yaml','r')
23
+ fd = File.open('data/logging.yaml','r')
24
24
  assert_nothing_raised {
25
25
  ::Logging::Config::YamlConfigurator.load(fd)
26
26
  }
@@ -1,12 +1,14 @@
1
- # $Id: setup.rb 22 2007-01-29 16:20:54Z tim_pease $
1
+ # $Id: setup.rb 39 2007-10-26 20:22:01Z tim_pease $
2
2
 
3
3
  require 'test/unit'
4
4
 
5
5
  begin
6
6
  require 'logging'
7
7
  rescue LoadError
8
- require 'rubygems'
9
- require 'logging'
8
+ path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
9
+ raise if $:.include? path
10
+ $: << path
11
+ retry
10
12
  end
11
13
 
12
14
  begin
@@ -18,30 +20,30 @@ end
18
20
 
19
21
 
20
22
  module TestLogging
21
- module LoggingTestCase
23
+ module LoggingTestCase
22
24
 
23
- def setup
24
- super
25
+ def setup
26
+ super
25
27
 
26
- ::Logging.module_eval do
27
- ::Logging::LEVELS.clear
28
- ::Logging::LNAMES.clear
29
- remove_const :MAX_LEVEL_LENGTH if const_defined? :MAX_LEVEL_LENGTH
30
- remove_const :OBJ_FORMAT if const_defined? :OBJ_FORMAT
31
- end
28
+ ::Logging.module_eval do
29
+ ::Logging::LEVELS.clear
30
+ ::Logging::LNAMES.clear
31
+ remove_const :MAX_LEVEL_LENGTH if const_defined? :MAX_LEVEL_LENGTH
32
+ remove_const :OBJ_FORMAT if const_defined? :OBJ_FORMAT
33
+ end
32
34
 
33
- ::Logging::Repository.class_eval do
34
- @__instance__ = nil
35
- class << self
36
- nonce = class << Singleton; self; end
37
- define_method(:instance, nonce::FirstInstanceCall)
38
- end
35
+ ::Logging::Repository.class_eval do
36
+ @__instance__ = nil
37
+ class << self
38
+ nonce = class << Singleton; self; end
39
+ define_method(:instance, nonce::FirstInstanceCall)
39
40
  end
40
-
41
- ::Logging::Appender.instance_variable_get(:@appenders).clear
42
41
  end
42
+
43
+ ::Logging::Appender.instance_variable_get(:@appenders).clear
44
+ end
43
45
 
44
- end # module LoggingTestCase
46
+ end # module LoggingTestCase
45
47
  end # module TestLogging
46
48
 
47
49
  # EOF
@@ -1,4 +1,4 @@
1
- # $Id: test_logging.rb 34 2007-02-28 21:42:41Z tim_pease $
1
+ # $Id: test_logging.rb 38 2007-10-26 20:05:51Z tim_pease $
2
2
 
3
3
  require 'test/setup.rb'
4
4
  require 'fileutils'
@@ -30,7 +30,7 @@ module TestLogging
30
30
  def test_configure
31
31
  assert_raise(ArgumentError) {::Logging.configure 'blah.txt'}
32
32
 
33
- ::Logging.configure 'examples/logging.yaml'
33
+ ::Logging.configure 'data/logging.yaml'
34
34
 
35
35
  names = {
36
36
  0 => 'DEB', 1 => 'INF', 2 => 'PRT',
@@ -1,4 +1,4 @@
1
- # $Id: test_repository.rb 31 2007-02-22 23:16:17Z tim_pease $
1
+ # $Id: test_repository.rb 43 2007-10-27 22:22:33Z tim_pease $
2
2
 
3
3
  require 'test/setup.rb'
4
4
 
@@ -43,13 +43,11 @@ module TestLogging
43
43
  end
44
44
 
45
45
  def test_fetch
46
- assert_raise(IndexError) {@repo.fetch 'A'}
46
+ assert @repo.has_logger?(:root)
47
47
  assert_same @repo[:root], @repo.fetch(:root)
48
- end
49
48
 
50
- def test_fetch
51
- assert @repo.has_logger?(:root)
52
49
  assert !@repo.has_logger?('A')
50
+ assert_raise(IndexError) {@repo.fetch 'A'}
53
51
 
54
52
  %w(A A::B A::B::C::D A::B::C::E A::B::C::F).each do |name|
55
53
  ::Logging::Logger.new(name)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.1
2
+ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: logging
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.0
7
- date: 2007-03-21 00:00:00 -06:00
8
- summary: A flexible and extendable logging library for Ruby.
6
+ version: 0.5.0
7
+ date: 2007-11-18 00:00:00 -07:00
8
+ summary: A flexible and extendable logging library for Ruby
9
9
  require_paths:
10
10
  - lib
11
- - test
12
11
  email: tim.pease@gmail.com
13
12
  homepage: http://logging.rubyforge.org/
14
13
  rubyforge_project: logging
@@ -30,15 +29,20 @@ post_install_message:
30
29
  authors:
31
30
  - Tim Pease
32
31
  files:
32
+ - History.txt
33
+ - Manifest.txt
33
34
  - README.txt
34
- - examples/logging.yaml
35
+ - Rakefile
36
+ - data/logging.yaml
35
37
  - lib/logging.rb
36
38
  - lib/logging/appender.rb
37
39
  - lib/logging/appenders/console.rb
38
40
  - lib/logging/appenders/file.rb
41
+ - lib/logging/appenders/growl.rb
39
42
  - lib/logging/appenders/io.rb
40
43
  - lib/logging/appenders/rolling_file.rb
41
44
  - lib/logging/appenders/static_appender.rb
45
+ - lib/logging/appenders/syslog.rb
42
46
  - lib/logging/config/yaml_configurator.rb
43
47
  - lib/logging/layout.rb
44
48
  - lib/logging/layouts/basic.rb
@@ -47,16 +51,23 @@ files:
47
51
  - lib/logging/logger.rb
48
52
  - lib/logging/repository.rb
49
53
  - lib/logging/root_logger.rb
54
+ - tasks/doc.rake
55
+ - tasks/gem.rake
56
+ - tasks/manifest.rake
57
+ - tasks/rubyforge.rake
58
+ - tasks/setup.rb
59
+ - tasks/test.rake
60
+ - tasks/website.rake
50
61
  - test/appenders/test_console.rb
51
62
  - test/appenders/test_file.rb
52
63
  - test/appenders/test_io.rb
53
64
  - test/appenders/test_rolling_file.rb
65
+ - test/appenders/test_syslog.rb
54
66
  - test/benchmark.rb
55
67
  - test/config/test_yaml_configurator.rb
56
68
  - test/layouts/test_basic.rb
57
69
  - test/layouts/test_pattern.rb
58
70
  - test/setup.rb
59
- - test/test_all.rb
60
71
  - test/test_appender.rb
61
72
  - test/test_layout.rb
62
73
  - test/test_log_event.rb
@@ -65,16 +76,40 @@ files:
65
76
  - test/test_repository.rb
66
77
  - test/test_root_logger.rb
67
78
  test_files:
68
- - test/test_all.rb
69
- rdoc_options: []
70
-
71
- extra_rdoc_files: []
72
-
79
+ - test/appenders/test_console.rb
80
+ - test/appenders/test_file.rb
81
+ - test/appenders/test_io.rb
82
+ - test/appenders/test_rolling_file.rb
83
+ - test/appenders/test_syslog.rb
84
+ - test/config/test_yaml_configurator.rb
85
+ - test/layouts/test_basic.rb
86
+ - test/layouts/test_pattern.rb
87
+ - test/test_appender.rb
88
+ - test/test_layout.rb
89
+ - test/test_log_event.rb
90
+ - test/test_logger.rb
91
+ - test/test_logging.rb
92
+ - test/test_repository.rb
93
+ - test/test_root_logger.rb
94
+ rdoc_options:
95
+ - --main
96
+ - README.txt
97
+ extra_rdoc_files:
98
+ - History.txt
99
+ - README.txt
73
100
  executables: []
74
101
 
75
102
  extensions: []
76
103
 
77
104
  requirements: []
78
105
 
79
- dependencies: []
80
-
106
+ dependencies:
107
+ - !ruby/object:Gem::Dependency
108
+ name: rake
109
+ version_requirement:
110
+ version_requirements: !ruby/object:Gem::Version::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 0.7.3
115
+ version: