logging 0.5.3 → 0.6.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/History.txt +7 -0
- data/Manifest.txt +12 -7
- data/Rakefile +4 -1
- data/data/logging.yaml +1 -1
- data/lib/logging.rb +4 -17
- data/lib/logging/appender.rb +23 -16
- data/lib/logging/appenders/console.rb +3 -5
- data/lib/logging/appenders/email.rb +127 -0
- data/lib/logging/appenders/file.rb +27 -15
- data/lib/logging/appenders/growl.rb +33 -56
- data/lib/logging/appenders/io.rb +16 -11
- data/lib/logging/appenders/rolling_file.rb +94 -31
- data/lib/logging/appenders/syslog.rb +32 -46
- data/lib/logging/layout.rb +5 -3
- data/lib/logging/layouts/pattern.rb +6 -6
- data/lib/logging/utils.rb +44 -0
- data/{tasks → rakelib}/doc.rake +2 -2
- data/{tasks → rakelib}/gem.rake +3 -3
- data/{tasks → rakelib}/manifest.rake +0 -0
- data/{tasks → rakelib}/rubyforge.rake +0 -0
- data/{tasks → rakelib}/setup.rb +1 -4
- data/{tasks → rakelib}/test.rake +0 -0
- data/{tasks → rakelib}/website.rake +0 -0
- data/test/appenders/test_email.rb +165 -0
- data/test/appenders/test_file.rb +13 -14
- data/test/appenders/test_growl.rb +115 -0
- data/test/appenders/test_io.rb +5 -3
- data/test/appenders/test_rolling_file.rb +3 -9
- data/test/appenders/test_syslog.rb +4 -8
- data/test/config/test_yaml_configurator.rb +1 -5
- data/test/setup.rb +14 -2
- data/test/test_appender.rb +14 -4
- data/test/test_logging.rb +2 -15
- data/test/test_utils.rb +49 -0
- metadata +86 -53
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_syslog.rb
|
1
|
+
# $Id: test_syslog.rb 72 2007-12-26 21:59:58Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -17,10 +17,6 @@ module TestAppenders
|
|
17
17
|
@levels = ::Logging::LEVELS
|
18
18
|
end
|
19
19
|
|
20
|
-
def teardown
|
21
|
-
::Syslog.close if ::Syslog.opened?
|
22
|
-
end
|
23
|
-
|
24
20
|
def test_append
|
25
21
|
return if RUBY_PLATFORM =~ %r/cygwin/
|
26
22
|
|
@@ -63,7 +59,7 @@ module TestAppenders
|
|
63
59
|
|
64
60
|
def test_append_error
|
65
61
|
appender = create_syslog
|
66
|
-
appender.close
|
62
|
+
appender.close false
|
67
63
|
|
68
64
|
event = ::Logging::LogEvent.new('TestLogger', @levels['warn'],
|
69
65
|
[1, 2, 3, 4], false)
|
@@ -75,7 +71,7 @@ module TestAppenders
|
|
75
71
|
appender = create_syslog
|
76
72
|
assert_equal false, appender.closed?
|
77
73
|
|
78
|
-
appender.close
|
74
|
+
appender.close false
|
79
75
|
assert_equal true, appender.closed?
|
80
76
|
end
|
81
77
|
|
@@ -107,7 +103,7 @@ module TestAppenders
|
|
107
103
|
|
108
104
|
def test_concat_error
|
109
105
|
appender = create_syslog
|
110
|
-
appender.close
|
106
|
+
appender.close false
|
111
107
|
|
112
108
|
assert_raise(RuntimeError) {appender << 'oopsy'}
|
113
109
|
assert_equal true, appender.closed?
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_yaml_configurator.rb
|
1
|
+
# $Id: test_yaml_configurator.rb 72 2007-12-26 21:59:58Z tim_pease $
|
2
2
|
|
3
3
|
require 'stringio'
|
4
4
|
require 'yaml'
|
@@ -10,10 +10,6 @@ module TestConfig
|
|
10
10
|
class TestYamlConfigurator < Test::Unit::TestCase
|
11
11
|
include LoggingTestCase
|
12
12
|
|
13
|
-
def setup
|
14
|
-
super
|
15
|
-
end
|
16
|
-
|
17
13
|
def test_class_load
|
18
14
|
assert_raise(::Logging::Config::YamlConfigurator::Error) {
|
19
15
|
::Logging::Config::YamlConfigurator.load(Object.new)
|
data/test/setup.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: setup.rb
|
1
|
+
# $Id: setup.rb 72 2007-12-26 21:59:58Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/unit'
|
4
4
|
|
@@ -8,6 +8,7 @@ require 'test/unit'
|
|
8
8
|
KeyError = IndexError if not defined? KeyError
|
9
9
|
|
10
10
|
begin
|
11
|
+
require 'rubygems'
|
11
12
|
require 'logging'
|
12
13
|
rescue LoadError
|
13
14
|
path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
@@ -27,9 +28,14 @@ end
|
|
27
28
|
module TestLogging
|
28
29
|
module LoggingTestCase
|
29
30
|
|
31
|
+
TMP = 'tmp'
|
32
|
+
|
30
33
|
def setup
|
31
34
|
super
|
32
35
|
|
36
|
+
FileUtils.rm_rf TMP
|
37
|
+
FileUtils.mkdir TMP
|
38
|
+
|
33
39
|
::Logging.module_eval do
|
34
40
|
::Logging::LEVELS.clear
|
35
41
|
::Logging::LNAMES.clear
|
@@ -48,8 +54,14 @@ module LoggingTestCase
|
|
48
54
|
end
|
49
55
|
end
|
50
56
|
end
|
57
|
+
end
|
51
58
|
|
52
|
-
|
59
|
+
def teardown
|
60
|
+
super
|
61
|
+
h = ::Logging::Appender.instance_variable_get(:@appenders)
|
62
|
+
h.each_value {|a| a.close(false) unless a.nil? || a.closed?}
|
63
|
+
h.clear
|
64
|
+
FileUtils.rm_rf TMP
|
53
65
|
end
|
54
66
|
|
55
67
|
end # module LoggingTestCase
|
data/test/test_appender.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_appender.rb
|
1
|
+
# $Id: test_appender.rb 67 2007-12-26 16:27:06Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -20,7 +20,10 @@ module TestLogging
|
|
20
20
|
def test_append
|
21
21
|
ary = []
|
22
22
|
@appender.instance_variable_set :@ary, ary
|
23
|
-
def @appender.write(
|
23
|
+
def @appender.write( event, do_layout = true )
|
24
|
+
str = do_layout ? @layout.format(event) : event.to_s
|
25
|
+
@ary << str
|
26
|
+
end
|
24
27
|
|
25
28
|
assert_nothing_raised {@appender.append @event}
|
26
29
|
assert_equal "DEBUG logger : message\n", ary.pop
|
@@ -68,14 +71,17 @@ module TestLogging
|
|
68
71
|
def test_concat
|
69
72
|
ary = []
|
70
73
|
@appender.instance_variable_set :@ary, ary
|
71
|
-
def @appender.write(
|
74
|
+
def @appender.write( event, do_layout = true )
|
75
|
+
str = do_layout ? @layout.format(event) : event.to_s
|
76
|
+
@ary << str
|
77
|
+
end
|
72
78
|
|
73
79
|
assert_nothing_raised {@appender << 'log message'}
|
74
80
|
assert_equal 'log message', ary.pop
|
75
81
|
|
76
82
|
@appender.level = :off
|
77
83
|
@appender << 'another log message'
|
78
|
-
|
84
|
+
assert_nil ary.pop
|
79
85
|
|
80
86
|
layout = @appender.layout
|
81
87
|
def layout.footer() 'this is the footer' end
|
@@ -85,6 +91,10 @@ module TestLogging
|
|
85
91
|
assert_equal 'this is the footer', ary.pop
|
86
92
|
end
|
87
93
|
|
94
|
+
def test_flush
|
95
|
+
assert_same @appender, @appender.flush
|
96
|
+
end
|
97
|
+
|
88
98
|
def test_initialize
|
89
99
|
assert_raise(TypeError) {::Logging::Appender.new 'test', :layout => []}
|
90
100
|
|
data/test/test_logging.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_logging.rb
|
1
|
+
# $Id: test_logging.rb 72 2007-12-26 21:59:58Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
require 'fileutils'
|
@@ -8,25 +8,15 @@ module TestLogging
|
|
8
8
|
class TestLogging < Test::Unit::TestCase
|
9
9
|
include LoggingTestCase
|
10
10
|
|
11
|
-
TMP = 'tmp'
|
12
|
-
|
13
11
|
def setup
|
14
12
|
super
|
15
13
|
@levels = ::Logging::LEVELS
|
16
14
|
@lnames = ::Logging::LNAMES
|
17
15
|
|
18
|
-
FileUtils.rm_rf TMP
|
19
|
-
FileUtils.mkdir(TMP)
|
20
16
|
@fn = File.join(TMP, 'test.log')
|
21
17
|
@glob = File.join(TMP, '*.log')
|
22
18
|
end
|
23
19
|
|
24
|
-
def teardown
|
25
|
-
h = ::Logging::Repository.instance.instance_variable_get :@h
|
26
|
-
h.values.each {|l| l.close if l.respond_to? :close}
|
27
|
-
FileUtils.rm_rf TMP
|
28
|
-
end
|
29
|
-
|
30
20
|
def test_configure
|
31
21
|
assert_raise(ArgumentError) {::Logging.configure 'blah.txt'}
|
32
22
|
|
@@ -48,7 +38,7 @@ module TestLogging
|
|
48
38
|
logfile = ::Logging::Appender['logfile']
|
49
39
|
assert_instance_of ::Logging::Appenders::File, logfile
|
50
40
|
assert_equal 0, logfile.level
|
51
|
-
assert_equal 'temp.log', logfile.instance_variable_get(:@fn)
|
41
|
+
assert_equal 'tmp/temp.log', logfile.instance_variable_get(:@fn)
|
52
42
|
|
53
43
|
layout = logfile.layout
|
54
44
|
assert_instance_of ::Logging::Layouts::Pattern, layout
|
@@ -87,9 +77,6 @@ module TestLogging
|
|
87
77
|
appenders = yourlogger.instance_variable_get :@appenders
|
88
78
|
assert_equal 2, appenders.length
|
89
79
|
assert_equal ['logfile', 'stderr'], appenders.map {|a| a.name}.sort
|
90
|
-
|
91
|
-
# cleanup
|
92
|
-
File.delete('temp.log') if File.exist?('temp.log')
|
93
80
|
end
|
94
81
|
|
95
82
|
def test_logger
|
data/test/test_utils.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# $Id: test_utils.rb 65 2007-12-23 04:48:55Z tim_pease $
|
2
|
+
|
3
|
+
require 'test/setup.rb'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
module TestLogging
|
7
|
+
|
8
|
+
class TestUtils < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def test_getopt
|
11
|
+
opts = {
|
12
|
+
:foo => 'foo_value',
|
13
|
+
'bar' => 'bar_value',
|
14
|
+
'one' => '1',
|
15
|
+
:two => '2',
|
16
|
+
:three => 3.0
|
17
|
+
}
|
18
|
+
|
19
|
+
assert_equal('foo_value', opts.getopt(:foo))
|
20
|
+
assert_equal('foo_value', opts.getopt('foo'))
|
21
|
+
assert_equal(:foo_value, opts.getopt(:foo, :as => Symbol))
|
22
|
+
|
23
|
+
assert_equal('bar_value', opts.getopt(:bar))
|
24
|
+
assert_equal('bar_value', opts.getopt('bar'))
|
25
|
+
|
26
|
+
assert_equal('1', opts.getopt(:one))
|
27
|
+
assert_equal(1, opts.getopt('one', :as => Integer))
|
28
|
+
assert_instance_of(Float, opts.getopt('one', :as => Float))
|
29
|
+
|
30
|
+
assert_equal('2', opts.getopt(:two))
|
31
|
+
assert_equal(['2'], opts.getopt(:two, :as => Array))
|
32
|
+
|
33
|
+
assert_equal(3.0, opts.getopt(:three))
|
34
|
+
assert_equal('3.0', opts.getopt('three', :as => String))
|
35
|
+
|
36
|
+
assert_equal(nil, opts.getopt(:baz))
|
37
|
+
assert_equal('default', opts.getopt('baz', 'default'))
|
38
|
+
assert_equal(:default, opts.getopt(:key, 'default', :as => Symbol))
|
39
|
+
assert_equal(['default'], opts.getopt('key', 'default', :as => Array))
|
40
|
+
|
41
|
+
assert_equal(3.0, opts.getopt(:three, :as => Object))
|
42
|
+
|
43
|
+
assert_nil opts.getopt(:key, :as => Symbol)
|
44
|
+
end
|
45
|
+
|
46
|
+
end # class TestUtils
|
47
|
+
end # module TestLogging
|
48
|
+
|
49
|
+
# EOF
|
metadata
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: logging
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-12-08 00:00:00 -07:00
|
8
|
-
summary: A flexible and extendable logging library for Ruby
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: tim.pease@gmail.com
|
12
|
-
homepage: http://logging.rubyforge.org/
|
13
|
-
rubyforge_project: logging
|
14
|
-
description: Logging is a flexible logging library for use in Ruby programs based on the design of Java's log4j library. It features a hierarchical logging system, custom level names, multiple output destinations per log event, custom formatting, and more.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.6.0
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Tim Pease
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2007-12-26 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: flexmock
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.8.0
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: lockfile
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 1.4.3
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.8.1
|
41
|
+
version:
|
42
|
+
description: Logging is a flexible logging library for use in Ruby programs based on the design of Java's log4j library. It features a hierarchical logging system, custom level names, multiple output destinations per log event, custom formatting, and more.
|
43
|
+
email: tim.pease@gmail.com
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
extra_rdoc_files:
|
49
|
+
- History.txt
|
50
|
+
- README.txt
|
31
51
|
files:
|
32
52
|
- History.txt
|
33
53
|
- Manifest.txt
|
@@ -37,6 +57,7 @@ files:
|
|
37
57
|
- lib/logging.rb
|
38
58
|
- lib/logging/appender.rb
|
39
59
|
- lib/logging/appenders/console.rb
|
60
|
+
- lib/logging/appenders/email.rb
|
40
61
|
- lib/logging/appenders/file.rb
|
41
62
|
- lib/logging/appenders/growl.rb
|
42
63
|
- lib/logging/appenders/io.rb
|
@@ -51,15 +72,18 @@ files:
|
|
51
72
|
- lib/logging/logger.rb
|
52
73
|
- lib/logging/repository.rb
|
53
74
|
- lib/logging/root_logger.rb
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
-
|
60
|
-
-
|
75
|
+
- lib/logging/utils.rb
|
76
|
+
- rakelib/doc.rake
|
77
|
+
- rakelib/gem.rake
|
78
|
+
- rakelib/manifest.rake
|
79
|
+
- rakelib/rubyforge.rake
|
80
|
+
- rakelib/setup.rb
|
81
|
+
- rakelib/test.rake
|
82
|
+
- rakelib/website.rake
|
61
83
|
- test/appenders/test_console.rb
|
84
|
+
- test/appenders/test_email.rb
|
62
85
|
- test/appenders/test_file.rb
|
86
|
+
- test/appenders/test_growl.rb
|
63
87
|
- test/appenders/test_io.rb
|
64
88
|
- test/appenders/test_rolling_file.rb
|
65
89
|
- test/appenders/test_syslog.rb
|
@@ -75,9 +99,39 @@ files:
|
|
75
99
|
- test/test_logging.rb
|
76
100
|
- test/test_repository.rb
|
77
101
|
- test/test_root_logger.rb
|
102
|
+
- test/test_utils.rb
|
103
|
+
has_rdoc: true
|
104
|
+
homepage: http://logging.rubyforge.org/
|
105
|
+
post_install_message:
|
106
|
+
rdoc_options:
|
107
|
+
- --main
|
108
|
+
- README.txt
|
109
|
+
require_paths:
|
110
|
+
- lib
|
111
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: "0"
|
116
|
+
version:
|
117
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: "0"
|
122
|
+
version:
|
123
|
+
requirements: []
|
124
|
+
|
125
|
+
rubyforge_project: logging
|
126
|
+
rubygems_version: 1.0.1
|
127
|
+
signing_key:
|
128
|
+
specification_version: 2
|
129
|
+
summary: A flexible and extendable logging library for Ruby
|
78
130
|
test_files:
|
79
131
|
- test/appenders/test_console.rb
|
132
|
+
- test/appenders/test_email.rb
|
80
133
|
- test/appenders/test_file.rb
|
134
|
+
- test/appenders/test_growl.rb
|
81
135
|
- test/appenders/test_io.rb
|
82
136
|
- test/appenders/test_rolling_file.rb
|
83
137
|
- test/appenders/test_syslog.rb
|
@@ -91,25 +145,4 @@ test_files:
|
|
91
145
|
- test/test_logging.rb
|
92
146
|
- test/test_repository.rb
|
93
147
|
- test/test_root_logger.rb
|
94
|
-
|
95
|
-
- --main
|
96
|
-
- README.txt
|
97
|
-
extra_rdoc_files:
|
98
|
-
- History.txt
|
99
|
-
- README.txt
|
100
|
-
executables: []
|
101
|
-
|
102
|
-
extensions: []
|
103
|
-
|
104
|
-
requirements: []
|
105
|
-
|
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:
|
148
|
+
- test/test_utils.rb
|