logging 0.2.0 → 0.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.
- data/lib/logging/appenders/console.rb +7 -7
- data/lib/logging/appenders/file.rb +4 -4
- data/lib/logging/appenders/rolling_file.rb +5 -5
- data/lib/logging/appenders/static_appender.rb +7 -7
- data/lib/logging/layouts/basic.rb +4 -11
- data/lib/logging/layouts/pattern.rb +13 -39
- data/lib/logging/logger.rb +5 -5
- data/test/appenders/test_file.rb +24 -14
- data/test/appenders/test_io.rb +4 -5
- data/test/appenders/test_rolling_file.rb +24 -14
- data/test/layouts/test_basic.rb +7 -10
- data/test/layouts/test_pattern.rb +8 -11
- data/test/test_appender.rb +16 -2
- data/test/test_log_event.rb +5 -5
- data/test/test_logger.rb +2 -3
- metadata +3 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: console.rb
|
1
|
+
# $Id: console.rb 26 2007-01-31 23:19:40Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging/appenders/io'
|
4
4
|
|
@@ -12,10 +12,10 @@ module Appenders
|
|
12
12
|
|
13
13
|
#
|
14
14
|
# call-seq:
|
15
|
-
#
|
16
|
-
#
|
15
|
+
# Stdout.new
|
16
|
+
# Stdout.new( :layout => layout )
|
17
17
|
#
|
18
|
-
# Creates a new
|
18
|
+
# Creates a new Stdout Appender. The name 'stdout' will always be used for
|
19
19
|
# this appender.
|
20
20
|
#
|
21
21
|
def initialize( name = nil, opts = {} )
|
@@ -32,10 +32,10 @@ module Appenders
|
|
32
32
|
|
33
33
|
#
|
34
34
|
# call-seq:
|
35
|
-
#
|
36
|
-
#
|
35
|
+
# Stderr.new
|
36
|
+
# Stderr.new( :layout => layout )
|
37
37
|
#
|
38
|
-
# Creates a new
|
38
|
+
# Creates a new Stderr Appender. The name 'stderr' will always be used for
|
39
39
|
# this appender.
|
40
40
|
#
|
41
41
|
def initialize( name = nil, opts = {} )
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: file.rb
|
1
|
+
# $Id: file.rb 27 2007-02-01 16:58:11Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging/appenders/io'
|
4
4
|
|
@@ -30,12 +30,12 @@ module Logging::Appenders
|
|
30
30
|
|
31
31
|
if ::File.exist?(@fn)
|
32
32
|
if not ::File.file?(@fn)
|
33
|
-
raise
|
33
|
+
raise ArgumentError, "#{@fn} is not a regular file"
|
34
34
|
elsif not ::File.writable?(@fn)
|
35
|
-
raise
|
35
|
+
raise ArgumentError, "#{@fn} is not writeable"
|
36
36
|
end
|
37
37
|
elsif not ::File.writable?(::File.dirname(@fn))
|
38
|
-
raise
|
38
|
+
raise ArgumentError, "#{::File.dirname(@fn)} is not writable"
|
39
39
|
end
|
40
40
|
|
41
41
|
super(name, ::File.new(@fn, mode), opts)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: rolling_file.rb
|
1
|
+
# $Id: rolling_file.rb 27 2007-02-01 16:58:11Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging/appenders/file'
|
4
4
|
|
@@ -21,10 +21,10 @@ module Logging::Appenders
|
|
21
21
|
# /var/log/ruby.log => /var/log/ruby.1.log
|
22
22
|
#
|
23
23
|
# New log messages will be appended to a newly opened log file of the same
|
24
|
-
# name (<tt>/var/log/ruby.log</tt> in our example above). The age number
|
25
|
-
# all older log files is incremented when the log file is rolled. The
|
26
|
-
# of older log files to keep can be given, otherwise all the log
|
27
|
-
# kept.
|
24
|
+
# name (<tt>/var/log/ruby.log</tt> in our example above). The age number
|
25
|
+
# for all older log files is incremented when the log file is rolled. The
|
26
|
+
# number of older log files to keep can be given, otherwise all the log
|
27
|
+
# files are kept.
|
28
28
|
#
|
29
29
|
# The actual process of rolling all the log file names can be expensive if
|
30
30
|
# there are many, many older log files to process.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: static_appender.rb
|
1
|
+
# $Id: static_appender.rb 26 2007-01-31 23:19:40Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging/appenders/console'
|
4
4
|
|
@@ -31,25 +31,25 @@ class Appender
|
|
31
31
|
# call-seq:
|
32
32
|
# Appender.stdout
|
33
33
|
#
|
34
|
-
# Returns an instance of the
|
35
|
-
# creates a new
|
34
|
+
# Returns an instance of the Stdout Appender. Unless the user explicitly
|
35
|
+
# creates a new Stdout Appender, the instance returned by this method
|
36
36
|
# will always be the same:
|
37
37
|
#
|
38
38
|
# Appender.stdout.object_id == Appender.stdout.object_id #=> true
|
39
39
|
#
|
40
|
-
def stdout( ) self['stdout'] || ::Logging::Appenders::
|
40
|
+
def stdout( ) self['stdout'] || ::Logging::Appenders::Stdout.new end
|
41
41
|
|
42
42
|
#
|
43
43
|
# call-seq:
|
44
44
|
# Appender.stderr
|
45
45
|
#
|
46
|
-
# Returns an instance of the
|
47
|
-
# creates a new
|
46
|
+
# Returns an instance of the Stderr Appender. Unless the user explicitly
|
47
|
+
# creates a new Stderr Appender, the instance returned by this method
|
48
48
|
# will always be the same:
|
49
49
|
#
|
50
50
|
# Appender.stderr.object_id == Appender.stderr.object_id #=> true
|
51
51
|
#
|
52
|
-
def stderr( ) self['stderr'] || ::Logging::Appenders::
|
52
|
+
def stderr( ) self['stderr'] || ::Logging::Appenders::Stderr.new end
|
53
53
|
|
54
54
|
end # class << self
|
55
55
|
end # class Appender
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: basic.rb
|
1
|
+
# $Id: basic.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging'
|
4
4
|
require 'logging/layout'
|
@@ -29,16 +29,9 @@ module Layouts
|
|
29
29
|
# class documentation for details about the formatting used.
|
30
30
|
#
|
31
31
|
def format( event )
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
event.data.each do |obj|
|
36
|
-
buf << start
|
37
|
-
buf << format_obj(obj)
|
38
|
-
buf << "\n"
|
39
|
-
end
|
40
|
-
|
41
|
-
return buf
|
32
|
+
obj = format_obj(event.data)
|
33
|
+
sprintf("%*s %s : %s\n", ::Logging::MAX_LEVEL_LENGTH,
|
34
|
+
::Logging::LNAMES[event.level], event.logger, obj)
|
42
35
|
end
|
43
36
|
|
44
37
|
end # class Basic
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: pattern.rb
|
1
|
+
# $Id: pattern.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'logging'
|
4
4
|
require 'logging/layout'
|
@@ -125,7 +125,7 @@ module Layouts
|
|
125
125
|
'F' => 'event.file',
|
126
126
|
'l' => '::Logging::LNAMES[event.level]',
|
127
127
|
'L' => 'event.line',
|
128
|
-
'm' =>
|
128
|
+
'm' => 'format_obj(event.data)',
|
129
129
|
'M' => 'event.method',
|
130
130
|
'p' => 'Process.pid',
|
131
131
|
'r' => 'Integer((Time.now-@created_at)*1000).to_s',
|
@@ -164,21 +164,17 @@ module Layouts
|
|
164
164
|
|
165
165
|
#
|
166
166
|
# call-seq:
|
167
|
-
# Pattern.
|
167
|
+
# Pattern.create_format_method( pf )
|
168
168
|
#
|
169
|
-
# This method will create the +format+
|
170
|
-
#
|
171
|
-
#
|
169
|
+
# This method will create the +format+ method in the given Pattern
|
170
|
+
# Layout _pf_ based on the configured format pattern specified by the
|
171
|
+
# user.
|
172
172
|
#
|
173
|
-
def self.
|
174
|
-
# Create the
|
175
|
-
|
176
|
-
|
177
|
-
code = "undef :format_str if method_defined? :format_str\n"
|
178
|
-
code << "def format_str( event )\nsprintf(\""
|
173
|
+
def self.create_format_method( pf )
|
174
|
+
# Create the format(event) method
|
175
|
+
code = "undef :format if method_defined? :format\n"
|
176
|
+
code << "def format( event )\nsprintf(\""
|
179
177
|
pattern = pf.pattern.dup
|
180
|
-
have_m_directive = false
|
181
|
-
have_percent = false
|
182
178
|
args = []
|
183
179
|
|
184
180
|
while true
|
@@ -186,12 +182,7 @@ module Layouts
|
|
186
182
|
code << m[1] unless m[1].empty?
|
187
183
|
|
188
184
|
case m[3]
|
189
|
-
when '%'
|
190
|
-
code << '%%%%' # this results in a %% in the format string
|
191
|
-
have_percent = true
|
192
|
-
when 'm'
|
193
|
-
code << '%' + m[2] + 's'
|
194
|
-
have_m_directive = true
|
185
|
+
when '%': code << '%%'
|
195
186
|
when *DIRECTIVE_TABLE.keys
|
196
187
|
code << m[2] + 's'
|
197
188
|
args << DIRECTIVE_TABLE[m[3]]
|
@@ -209,23 +200,6 @@ module Layouts
|
|
209
200
|
code << ")\n"
|
210
201
|
code << "end\n"
|
211
202
|
|
212
|
-
code.gsub!('%%', '%') if have_percent and not have_m_directive
|
213
|
-
pf.meta_eval code
|
214
|
-
|
215
|
-
# Create the format(event) method
|
216
|
-
code = "undef :format if method_defined? :format\n"
|
217
|
-
if have_m_directive
|
218
|
-
code << <<-CODE
|
219
|
-
def format( event )
|
220
|
-
fmt = format_str(event)
|
221
|
-
buf = ''
|
222
|
-
event.data.each {|obj| buf << sprintf(fmt, format_obj(obj))}
|
223
|
-
buf
|
224
|
-
end
|
225
|
-
CODE
|
226
|
-
else
|
227
|
-
code << "alias :format :format_str\n"
|
228
|
-
end
|
229
203
|
pf.meta_eval code
|
230
204
|
end
|
231
205
|
# :startdoc:
|
@@ -254,7 +228,7 @@ module Layouts
|
|
254
228
|
@date_pattern = ISO8601 if @date_pattern.nil? and @date_method.nil?
|
255
229
|
|
256
230
|
Pattern.create_date_format_methods(self)
|
257
|
-
Pattern.
|
231
|
+
Pattern.create_format_method(self)
|
258
232
|
end
|
259
233
|
|
260
234
|
attr_reader :pattern, :date_pattern, :date_method
|
@@ -267,7 +241,7 @@ module Layouts
|
|
267
241
|
#
|
268
242
|
def pattern=( var )
|
269
243
|
@pattern = var
|
270
|
-
Pattern.
|
244
|
+
Pattern.create_format_method(self)
|
271
245
|
end
|
272
246
|
|
273
247
|
#
|
data/lib/logging/logger.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: logger.rb
|
1
|
+
# $Id: logger.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'thread'
|
4
4
|
require 'logging'
|
@@ -100,14 +100,14 @@ module Logging
|
|
100
100
|
if logger.level > num
|
101
101
|
code << <<-CODE
|
102
102
|
def #{name}?( ) false end
|
103
|
-
def #{name}(
|
103
|
+
def #{name}( data = nil ) false end
|
104
104
|
CODE
|
105
105
|
else
|
106
106
|
code << <<-CODE
|
107
107
|
def #{name}?( ) true end
|
108
|
-
def #{name}(
|
109
|
-
|
110
|
-
log_event(::Logging::LogEvent.new(@name, #{num},
|
108
|
+
def #{name}( data = nil )
|
109
|
+
data = yield if block_given?
|
110
|
+
log_event(::Logging::LogEvent.new(@name, #{num}, data, @trace)) unless data.nil?
|
111
111
|
true
|
112
112
|
end
|
113
113
|
CODE
|
data/test/appenders/test_file.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_file.rb
|
1
|
+
# $Id: test_file.rb 27 2007-02-01 16:58:11Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
require 'fileutils'
|
@@ -10,6 +10,7 @@ module TestAppenders
|
|
10
10
|
include LoggingTestCase
|
11
11
|
|
12
12
|
TMP = 'tmp'
|
13
|
+
NAME = 'logfile'
|
13
14
|
|
14
15
|
def setup
|
15
16
|
super
|
@@ -22,27 +23,28 @@ module TestAppenders
|
|
22
23
|
end
|
23
24
|
|
24
25
|
def teardown
|
26
|
+
cleanup
|
25
27
|
FileUtils.rm_rf TMP
|
26
28
|
end
|
27
29
|
|
28
30
|
def test_initialize
|
29
31
|
log = File.join(TMP, 'uw_dir', 'file.log')
|
30
|
-
assert_raise(
|
31
|
-
::Logging::Appenders::File.new(
|
32
|
+
assert_raise(ArgumentError) do
|
33
|
+
::Logging::Appenders::File.new(NAME, :filename => log)
|
32
34
|
end
|
33
35
|
|
34
36
|
log = File.join(TMP, 'dir')
|
35
|
-
assert_raise(
|
36
|
-
::Logging::Appenders::File.new(
|
37
|
+
assert_raise(ArgumentError) do
|
38
|
+
::Logging::Appenders::File.new(NAME, :filename => log)
|
37
39
|
end
|
38
40
|
|
39
41
|
log = File.join(TMP, 'uw_file')
|
40
|
-
assert_raise(
|
41
|
-
::Logging::Appenders::File.new(
|
42
|
+
assert_raise(ArgumentError) do
|
43
|
+
::Logging::Appenders::File.new(NAME, :filename => log)
|
42
44
|
end
|
43
45
|
|
44
46
|
log = File.join(TMP, 'file.log')
|
45
|
-
appender = ::Logging::Appenders::File.new
|
47
|
+
appender = ::Logging::Appenders::File.new NAME, 'filename' => log
|
46
48
|
assert_equal 'logfile', appender.name
|
47
49
|
appender << "This will be the first line\n"
|
48
50
|
appender << "This will be the second line\n"
|
@@ -52,9 +54,9 @@ module TestAppenders
|
|
52
54
|
assert_equal "This will be the second line\n", file.readline
|
53
55
|
assert_raise(EOFError) {file.readline}
|
54
56
|
end
|
55
|
-
|
57
|
+
cleanup
|
56
58
|
|
57
|
-
appender = ::Logging::Appenders::File.new
|
59
|
+
appender = ::Logging::Appenders::File.new NAME, :filename => log
|
58
60
|
assert_equal 'logfile', appender.name
|
59
61
|
appender << "This will be the third line\n"
|
60
62
|
appender.flush
|
@@ -64,10 +66,10 @@ module TestAppenders
|
|
64
66
|
assert_equal "This will be the third line\n", file.readline
|
65
67
|
assert_raise(EOFError) {file.readline}
|
66
68
|
end
|
67
|
-
|
69
|
+
cleanup
|
68
70
|
|
69
|
-
appender = ::Logging::Appenders::File.new
|
70
|
-
|
71
|
+
appender = ::Logging::Appenders::File.new NAME, :filename => log,
|
72
|
+
:truncate => true
|
71
73
|
assert_equal 'logfile', appender.name
|
72
74
|
appender << "The file was truncated\n"
|
73
75
|
appender.flush
|
@@ -75,7 +77,15 @@ module TestAppenders
|
|
75
77
|
assert_equal "The file was truncated\n", file.readline
|
76
78
|
assert_raise(EOFError) {file.readline}
|
77
79
|
end
|
78
|
-
|
80
|
+
cleanup
|
81
|
+
end
|
82
|
+
|
83
|
+
private
|
84
|
+
def cleanup
|
85
|
+
unless ::Logging::Appender[NAME].nil?
|
86
|
+
::Logging::Appender[NAME].close false
|
87
|
+
::Logging::Appender[NAME] = nil
|
88
|
+
end
|
79
89
|
end
|
80
90
|
|
81
91
|
end # class TestFile
|
data/test/appenders/test_io.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_io.rb
|
1
|
+
# $Id: test_io.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
require 'stringio'
|
@@ -21,16 +21,15 @@ module TestAppenders
|
|
21
21
|
|
22
22
|
def test_append
|
23
23
|
event = ::Logging::LogEvent.new('TestLogger', @levels['warn'],
|
24
|
-
[
|
24
|
+
[1, 2, 3, 4], false)
|
25
25
|
@appender.append event
|
26
26
|
assert_equal " WARN TestLogger : <Array> 1234\n", readline
|
27
27
|
assert_raise(EOFError) {readline}
|
28
28
|
|
29
29
|
event.level = @levels['debug']
|
30
|
-
event.data =
|
30
|
+
event.data = 'the big log message'
|
31
31
|
@appender.append event
|
32
32
|
assert_equal "DEBUG TestLogger : the big log message\n", readline
|
33
|
-
assert_equal "DEBUG TestLogger : <Array> 1234\n", readline
|
34
33
|
assert_raise(EOFError) {readline}
|
35
34
|
|
36
35
|
@appender.close
|
@@ -40,7 +39,7 @@ module TestAppenders
|
|
40
39
|
def test_append_error
|
41
40
|
@sio.close
|
42
41
|
event = ::Logging::LogEvent.new('TestLogger', @levels['warn'],
|
43
|
-
[
|
42
|
+
[1, 2, 3, 4], false)
|
44
43
|
assert_raise(IOError) {@appender.append event}
|
45
44
|
assert_equal true, @appender.closed?
|
46
45
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_rolling_file.rb
|
1
|
+
# $Id: test_rolling_file.rb 27 2007-02-01 16:58:11Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
require 'fileutils'
|
@@ -10,6 +10,7 @@ module TestAppenders
|
|
10
10
|
include LoggingTestCase
|
11
11
|
|
12
12
|
TMP = 'tmp'
|
13
|
+
NAME = 'roller'
|
13
14
|
|
14
15
|
def setup
|
15
16
|
super
|
@@ -21,6 +22,7 @@ module TestAppenders
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def teardown
|
25
|
+
cleanup
|
24
26
|
FileUtils.rm_rf TMP
|
25
27
|
end
|
26
28
|
|
@@ -28,28 +30,28 @@ module TestAppenders
|
|
28
30
|
assert_equal [], Dir.glob(@glob)
|
29
31
|
|
30
32
|
# create a new appender
|
31
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
33
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME, :filename => @fn)
|
32
34
|
assert File.exist?(@fn)
|
33
35
|
assert_equal 0, File.size(@fn)
|
34
36
|
|
35
37
|
ap << "Just a line of text\n" # 20 bytes
|
36
38
|
ap.flush
|
37
39
|
assert_equal 20, File.size(@fn)
|
38
|
-
|
40
|
+
cleanup
|
39
41
|
|
40
42
|
# make sure we append to the current file (not truncate)
|
41
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
43
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME, :filename => @fn)
|
42
44
|
assert_equal [@fn], Dir.glob(@glob)
|
43
45
|
assert_equal 20, File.size(@fn)
|
44
46
|
|
45
47
|
ap << "Just another line of text\n" # 26 bytes
|
46
48
|
ap.flush
|
47
49
|
assert_equal 46, File.size(@fn)
|
48
|
-
|
50
|
+
cleanup
|
49
51
|
|
50
52
|
# setting the truncate option to true should roll the current log file
|
51
53
|
# and create a new one
|
52
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
54
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME,
|
53
55
|
:filename => @fn, :truncate => true)
|
54
56
|
|
55
57
|
log1 = sprintf(@fn_fmt, 1)
|
@@ -60,7 +62,7 @@ module TestAppenders
|
|
60
62
|
ap << "Some more text in the new file\n" # 31 bytes
|
61
63
|
ap.flush
|
62
64
|
assert_equal 31, File.size(@fn)
|
63
|
-
|
65
|
+
cleanup
|
64
66
|
end
|
65
67
|
|
66
68
|
def test_keep
|
@@ -73,7 +75,7 @@ module TestAppenders
|
|
73
75
|
FileUtils.touch(@fn)
|
74
76
|
|
75
77
|
# keep only five files
|
76
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
78
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME,
|
77
79
|
:filename => @fn, :keep => 5)
|
78
80
|
|
79
81
|
# we still have 13 files because we did not truncate the log file,
|
@@ -88,29 +90,29 @@ module TestAppenders
|
|
88
90
|
name = sprintf(@fn_fmt, cnt)
|
89
91
|
assert_equal cnt-1, File.size(name)
|
90
92
|
end
|
91
|
-
|
93
|
+
cleanup
|
92
94
|
end
|
93
95
|
|
94
96
|
def test_max_age
|
95
97
|
assert_equal [], Dir.glob(@glob)
|
96
98
|
|
97
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
99
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME,
|
98
100
|
:filename => @fn, :max_age => 1)
|
99
101
|
|
100
102
|
ap << "random message\n"
|
101
103
|
assert_equal 1, Dir.glob(@glob).length
|
102
104
|
|
103
|
-
sleep 1
|
105
|
+
sleep 1.250
|
104
106
|
ap << "another random message\n"
|
105
107
|
assert_equal 2, Dir.glob(@glob).length
|
106
108
|
|
107
|
-
|
109
|
+
cleanup
|
108
110
|
end
|
109
111
|
|
110
112
|
def test_max_size
|
111
113
|
assert_equal [], Dir.glob(@glob)
|
112
114
|
|
113
|
-
ap = ::Logging::Appenders::RollingFile.new(
|
115
|
+
ap = ::Logging::Appenders::RollingFile.new(NAME,
|
114
116
|
:filename => @fn, :max_size => 100)
|
115
117
|
|
116
118
|
ap << 'X' * 100; ap.flush
|
@@ -131,7 +133,15 @@ module TestAppenders
|
|
131
133
|
assert_equal 3, Dir.glob(@glob).length
|
132
134
|
assert_equal 0, File.size(@fn)
|
133
135
|
|
134
|
-
|
136
|
+
cleanup
|
137
|
+
end
|
138
|
+
|
139
|
+
private
|
140
|
+
def cleanup
|
141
|
+
unless ::Logging::Appender[NAME].nil?
|
142
|
+
::Logging::Appender[NAME].close false
|
143
|
+
::Logging::Appender[NAME] = nil
|
144
|
+
end
|
135
145
|
end
|
136
146
|
|
137
147
|
end # class TestRollingFile
|
data/test/layouts/test_basic.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_basic.rb
|
1
|
+
# $Id: test_basic.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -17,24 +17,21 @@ module TestLayouts
|
|
17
17
|
|
18
18
|
def test_format
|
19
19
|
event = ::Logging::LogEvent.new( 'ArrayLogger', @levels['info'],
|
20
|
-
|
20
|
+
'log message', false)
|
21
21
|
assert_equal " INFO ArrayLogger : log message\n", @layout.format(event)
|
22
22
|
|
23
|
-
event.data = [
|
23
|
+
event.data = [1, 2, 3, 4]
|
24
24
|
assert_equal " INFO ArrayLogger : <Array> 1234\n", @layout.format(event)
|
25
25
|
|
26
26
|
event.level = @levels['debug']
|
27
|
-
event.data =
|
28
|
-
log =
|
29
|
-
log << "DEBUG ArrayLogger : and some message\n"
|
27
|
+
event.data = 'and another message'
|
28
|
+
log = "DEBUG ArrayLogger : and another message\n"
|
30
29
|
assert_equal log, @layout.format(event)
|
31
30
|
|
32
31
|
event.logger = 'Test'
|
33
32
|
event.level = @levels['fatal']
|
34
|
-
event.data =
|
35
|
-
log =
|
36
|
-
log << "FATAL Test : and some message\n"
|
37
|
-
log << "FATAL Test : <Exception> Exception\n"
|
33
|
+
event.data = Exception.new
|
34
|
+
log = "FATAL Test : <Exception> Exception\n"
|
38
35
|
assert_equal log, @layout.format(event)
|
39
36
|
end
|
40
37
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_pattern.rb
|
1
|
+
# $Id: test_pattern.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -60,27 +60,24 @@ module TestLayouts
|
|
60
60
|
fmt = '\[' + @date_fmt + '\] %s -- %s : %s\n'
|
61
61
|
|
62
62
|
event = ::Logging::LogEvent.new('ArrayLogger', @levels['info'],
|
63
|
-
|
63
|
+
'log message', false)
|
64
64
|
rgxp = Regexp.new(sprintf(fmt, 'INFO ', 'ArrayLogger', 'log message'))
|
65
65
|
assert_match rgxp, @layout.format(event)
|
66
66
|
|
67
|
-
event.data = [
|
67
|
+
event.data = [1, 2, 3, 4]
|
68
68
|
rgxp = Regexp.new(sprintf(fmt, 'INFO ', 'ArrayLogger', '<Array> 1234'))
|
69
69
|
assert_match rgxp, @layout.format(event)
|
70
70
|
|
71
71
|
event.level = @levels['debug']
|
72
|
-
event.data =
|
72
|
+
event.data = 'and another message'
|
73
73
|
rgxp = Regexp.new(
|
74
|
-
sprintf(fmt, 'DEBUG', 'ArrayLogger', '
|
75
|
-
sprintf(fmt, 'DEBUG', 'ArrayLogger', 'and some message'))
|
74
|
+
sprintf(fmt, 'DEBUG', 'ArrayLogger', 'and another message'))
|
76
75
|
assert_match rgxp, @layout.format(event)
|
77
76
|
|
78
77
|
event.logger = 'Test'
|
79
78
|
event.level = @levels['fatal']
|
80
|
-
event.data =
|
79
|
+
event.data = Exception.new
|
81
80
|
rgxp = Regexp.new(
|
82
|
-
sprintf(fmt, 'FATAL', 'Test', '<Array> 1234') +
|
83
|
-
sprintf(fmt, 'FATAL', 'Test', 'and some message') +
|
84
81
|
sprintf(fmt, 'FATAL', 'Test', '<Exception> Exception'))
|
85
82
|
assert_match rgxp, @layout.format(event)
|
86
83
|
end
|
@@ -105,7 +102,7 @@ module TestLayouts
|
|
105
102
|
|
106
103
|
def test_pattern_all
|
107
104
|
event = ::Logging::LogEvent.new('TestLogger', @levels['info'],
|
108
|
-
|
105
|
+
'log message', false)
|
109
106
|
event.instance_variable_set :@file, 'test_file.rb'
|
110
107
|
event.instance_variable_set :@line, '123'
|
111
108
|
event.instance_variable_set :@method, 'method_name'
|
@@ -161,7 +158,7 @@ module TestLayouts
|
|
161
158
|
@layout.pattern = '%7.7m'
|
162
159
|
assert_equal 'log mes', @layout.format(event)
|
163
160
|
|
164
|
-
event.data =
|
161
|
+
event.data = 'tim'
|
165
162
|
assert_equal ' tim', @layout.format(event)
|
166
163
|
|
167
164
|
@layout.pattern = '%-7.7m'
|
data/test/test_appender.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_appender.rb
|
1
|
+
# $Id: test_appender.rb 26 2007-01-31 23:19:40Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -13,7 +13,7 @@ module TestLogging
|
|
13
13
|
::Logging.define_levels %w(debug info warn error fatal)
|
14
14
|
@levels = ::Logging::LEVELS
|
15
15
|
@event = ::Logging::LogEvent.new('logger', @levels['debug'],
|
16
|
-
|
16
|
+
'message', false)
|
17
17
|
@appender = ::Logging::Appender.new 'test_appender'
|
18
18
|
end
|
19
19
|
|
@@ -37,6 +37,20 @@ module TestLogging
|
|
37
37
|
assert_raise(RuntimeError) {@appender.append @event}
|
38
38
|
end
|
39
39
|
|
40
|
+
def test_class_stderr
|
41
|
+
stderr = ::Logging::Appender.stderr
|
42
|
+
assert_instance_of ::Logging::Appenders::Stderr, stderr
|
43
|
+
assert_equal 'stderr', stderr.name
|
44
|
+
assert_same stderr, ::Logging::Appender.stderr
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_class_stdout
|
48
|
+
stdout = ::Logging::Appender.stdout
|
49
|
+
assert_instance_of ::Logging::Appenders::Stdout, stdout
|
50
|
+
assert_equal 'stdout', stdout.name
|
51
|
+
assert_same stdout, ::Logging::Appender.stdout
|
52
|
+
end
|
53
|
+
|
40
54
|
def test_close
|
41
55
|
assert_equal false, @appender.closed?
|
42
56
|
|
data/test/test_log_event.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_log_event.rb
|
1
|
+
# $Id: test_log_event.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
|
@@ -14,17 +14,17 @@ module TestLogging
|
|
14
14
|
@logger = ::Logging::Logger['TestLogger']
|
15
15
|
@logger.add @appender
|
16
16
|
|
17
|
-
@logger.info 'message 1'
|
17
|
+
@logger.info 'message 1'
|
18
18
|
@event = @appender.event
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_data
|
22
|
-
assert_equal
|
22
|
+
assert_equal 'message 1', @event.data
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_data_eq
|
26
|
-
@event.data =
|
27
|
-
assert_equal
|
26
|
+
@event.data = 'message 2'
|
27
|
+
assert_equal 'message 2', @event.data
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_file
|
data/test/test_logger.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: test_logger.rb
|
1
|
+
# $Id: test_logger.rb 25 2007-01-30 20:19:12Z tim_pease $
|
2
2
|
|
3
3
|
require 'test/setup.rb'
|
4
4
|
require 'stringio'
|
@@ -286,8 +286,7 @@ module TestLogging
|
|
286
286
|
assert_nil a1.readline
|
287
287
|
assert_nil a2.readline
|
288
288
|
|
289
|
-
log.warn
|
290
|
-
assert_equal " WARN A Logger : this is a warning\n", a1.readline
|
289
|
+
log.warn [1,2,3,4]
|
291
290
|
assert_equal " WARN A Logger : <Array> 1234\n", a1.readline
|
292
291
|
assert_nil a1.readline
|
293
292
|
assert_nil a2.readline
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.1
|
3
3
|
specification_version: 1
|
4
4
|
name: logging
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-01
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2007-02-01 00:00:00 -07:00
|
8
8
|
summary: A flexible and extendable logging library for Ruby.
|
9
9
|
require_paths:
|
10
10
|
- lib
|