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