logging 0.9.8 → 1.0.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 +13 -0
- data/README.rdoc +51 -39
- data/Rakefile +1 -0
- data/examples/appenders.rb +44 -0
- data/examples/classes.rb +39 -0
- data/examples/formatting.rb +49 -0
- data/examples/hierarchies.rb +71 -0
- data/examples/layouts.rb +45 -0
- data/examples/loggers.rb +26 -0
- data/examples/names.rb +40 -0
- data/examples/simple.rb +14 -0
- data/lib/logging.rb +50 -21
- data/lib/logging/appender.rb +4 -56
- data/lib/logging/appenders.rb +120 -0
- data/lib/logging/appenders/buffering.rb +2 -1
- data/lib/logging/appenders/console.rb +0 -2
- data/lib/logging/appenders/rolling_file.rb +0 -2
- data/lib/logging/appenders/string_io.rb +1 -3
- data/lib/logging/appenders/syslog.rb +0 -7
- data/lib/logging/config/configurator.rb +1 -1
- data/lib/logging/config/yaml_configurator.rb +3 -7
- data/lib/logging/layout.rb +2 -4
- data/lib/logging/layouts.rb +47 -0
- data/lib/logging/layouts/basic.rb +2 -4
- data/lib/logging/layouts/parseable.rb +211 -0
- data/lib/logging/layouts/pattern.rb +6 -8
- data/lib/logging/log_event.rb +1 -1
- data/lib/logging/logger.rb +4 -4
- data/lib/spec/logging_helper.rb +2 -2
- data/test/appenders/test_buffered_io.rb +26 -18
- data/test/appenders/test_console.rb +10 -10
- data/test/appenders/test_email.rb +18 -19
- data/test/appenders/test_file.rb +12 -12
- data/test/appenders/test_growl.rb +11 -12
- data/test/appenders/test_io.rb +14 -15
- data/test/appenders/test_rolling_file.rb +15 -24
- data/test/appenders/test_syslog.rb +10 -10
- data/test/layouts/test_basic.rb +4 -5
- data/test/layouts/test_json.rb +112 -0
- data/test/layouts/test_pattern.rb +9 -9
- data/test/layouts/test_yaml.rb +121 -0
- data/test/setup.rb +1 -1
- data/test/test_appender.rb +0 -14
- data/test/test_log_event.rb +1 -1
- data/test/test_logging.rb +3 -3
- metadata +17 -2
@@ -12,8 +12,8 @@ module TestAppenders
|
|
12
12
|
|
13
13
|
def setup
|
14
14
|
super
|
15
|
-
|
16
|
-
@levels =
|
15
|
+
Logging.init
|
16
|
+
@levels = Logging::LEVELS
|
17
17
|
@logopt = defined?(::Syslog::LOG_NDELAY) ?
|
18
18
|
(::Syslog::LOG_PERROR | ::Syslog::LOG_NDELAY) :
|
19
19
|
(::Syslog::LOG_PERROR)
|
@@ -30,8 +30,8 @@ module TestAppenders
|
|
30
30
|
stderr[1].close
|
31
31
|
|
32
32
|
appender = create_syslog
|
33
|
-
event =
|
34
|
-
|
33
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
34
|
+
[1, 2, 3, 4], false)
|
35
35
|
appender.append event
|
36
36
|
event.level = @levels['debug']
|
37
37
|
event.data = 'the big log message'
|
@@ -63,8 +63,8 @@ module TestAppenders
|
|
63
63
|
appender = create_syslog
|
64
64
|
appender.close false
|
65
65
|
|
66
|
-
event =
|
67
|
-
|
66
|
+
event = Logging::LogEvent.new('TestLogger', @levels['warn'],
|
67
|
+
[1, 2, 3, 4], false)
|
68
68
|
assert_raise(RuntimeError) {appender.append event}
|
69
69
|
assert_equal true, appender.closed?
|
70
70
|
end
|
@@ -149,7 +149,7 @@ module TestAppenders
|
|
149
149
|
end
|
150
150
|
|
151
151
|
def test_initialize_map
|
152
|
-
appender =
|
152
|
+
appender = Logging.appenders.syslog(
|
153
153
|
'syslog_test',
|
154
154
|
:logopt => @logopt,
|
155
155
|
:map => {
|
@@ -171,8 +171,8 @@ module TestAppenders
|
|
171
171
|
private
|
172
172
|
|
173
173
|
def create_syslog
|
174
|
-
layout =
|
175
|
-
|
174
|
+
layout = Logging.layouts.pattern(:pattern => '%5l %c : %m')
|
175
|
+
Logging.appenders.syslog(
|
176
176
|
'syslog_test',
|
177
177
|
:logopt => @logopt,
|
178
178
|
:facility => ::Syslog::LOG_USER,
|
@@ -184,7 +184,7 @@ module TestAppenders
|
|
184
184
|
syslog.instance_variable_get :@map
|
185
185
|
end
|
186
186
|
|
187
|
-
end # class
|
187
|
+
end # class TestSyslog
|
188
188
|
|
189
189
|
end # module TestAppenders
|
190
190
|
end # module TestLogging
|
data/test/layouts/test_basic.rb
CHANGED
@@ -9,14 +9,13 @@ module TestLayouts
|
|
9
9
|
|
10
10
|
def setup
|
11
11
|
super
|
12
|
-
|
13
|
-
@
|
14
|
-
@levels = ::Logging::LEVELS
|
12
|
+
@layout = Logging.layouts.basic({})
|
13
|
+
@levels = Logging::LEVELS
|
15
14
|
end
|
16
15
|
|
17
16
|
def test_format
|
18
|
-
event =
|
19
|
-
|
17
|
+
event = Logging::LogEvent.new( 'ArrayLogger', @levels['info'],
|
18
|
+
'log message', false)
|
20
19
|
assert_equal " INFO ArrayLogger : log message\n", @layout.format(event)
|
21
20
|
|
22
21
|
event.data = [1, 2, 3, 4]
|
@@ -0,0 +1,112 @@
|
|
1
|
+
|
2
|
+
require File.join(File.dirname(__FILE__), %w[.. setup])
|
3
|
+
|
4
|
+
module TestLogging
|
5
|
+
module TestLayouts
|
6
|
+
|
7
|
+
class TestJson < Test::Unit::TestCase
|
8
|
+
include LoggingTestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
super
|
12
|
+
@layout = Logging.layouts.json({})
|
13
|
+
@levels = Logging::LEVELS
|
14
|
+
@date_fmt = '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}'
|
15
|
+
Thread.current[:name] = nil
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_initializer
|
19
|
+
assert_raise(ArgumentError) {
|
20
|
+
Logging.layouts.parseable.new :style => :foo
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_format
|
25
|
+
fmt = %Q[\\{"timestamp":"#@date_fmt","level":"%s","logger":"%s","message":"%s"\\}\\n]
|
26
|
+
|
27
|
+
event = Logging::LogEvent.new('ArrayLogger', @levels['info'],
|
28
|
+
'log message', false)
|
29
|
+
rgxp = Regexp.new(sprintf(fmt, 'INFO', 'ArrayLogger', 'log message'))
|
30
|
+
assert_match rgxp, @layout.format(event)
|
31
|
+
|
32
|
+
event.data = [1, 2, 3, 4]
|
33
|
+
rgxp = Regexp.new(sprintf(fmt, 'INFO', 'ArrayLogger',
|
34
|
+
Regexp.escape("<Array> #{[1,2,3,4]}")))
|
35
|
+
assert_match rgxp, @layout.format(event)
|
36
|
+
|
37
|
+
event.level = @levels['debug']
|
38
|
+
event.data = 'and another message'
|
39
|
+
rgxp = Regexp.new(sprintf(fmt, 'DEBUG', 'ArrayLogger',
|
40
|
+
'and another message'))
|
41
|
+
assert_match rgxp, @layout.format(event)
|
42
|
+
|
43
|
+
event.logger = 'Test'
|
44
|
+
event.level = @levels['fatal']
|
45
|
+
event.data = Exception.new
|
46
|
+
rgxp = Regexp.new(sprintf(fmt, 'FATAL', 'Test', '<Exception> Exception'))
|
47
|
+
assert_match rgxp, @layout.format(event)
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_items
|
51
|
+
assert_equal %w[timestamp level logger message], @layout.items
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_items_eq
|
55
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
56
|
+
['log message'], false)
|
57
|
+
|
58
|
+
@layout.items = %w[timestamp]
|
59
|
+
assert_equal %w[timestamp], @layout.items
|
60
|
+
assert_match %r/\{"timestamp":"#@date_fmt"\}\n/, @layout.format(event)
|
61
|
+
|
62
|
+
# 'foo' is not a recognized item
|
63
|
+
assert_raise(ArgumentError) {
|
64
|
+
@layout.items = %w[timestamp logger foo]
|
65
|
+
}
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_items_all
|
69
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
70
|
+
'log message', false)
|
71
|
+
event.instance_variable_set :@file, 'test_file.rb'
|
72
|
+
event.instance_variable_set :@line, 123
|
73
|
+
event.instance_variable_set :@method, 'method_name'
|
74
|
+
|
75
|
+
@layout.items = %w[logger]
|
76
|
+
assert_equal %Q[{"logger":"TestLogger"}\n], @layout.format(event)
|
77
|
+
|
78
|
+
@layout.items = %w[file]
|
79
|
+
assert_equal %Q[{"file":"test_file.rb"}\n], @layout.format(event)
|
80
|
+
|
81
|
+
@layout.items = %w[level]
|
82
|
+
assert_equal %Q[{"level":"INFO"}\n], @layout.format(event)
|
83
|
+
|
84
|
+
@layout.items = %w[line]
|
85
|
+
assert_equal %Q[{"line":123}\n], @layout.format(event)
|
86
|
+
|
87
|
+
@layout.items = %w[message]
|
88
|
+
assert_equal %Q[{"message":"log message"}\n], @layout.format(event)
|
89
|
+
|
90
|
+
@layout.items = %w[method]
|
91
|
+
assert_equal %Q[{"method":"method_name"}\n], @layout.format(event)
|
92
|
+
|
93
|
+
@layout.items = %w[pid]
|
94
|
+
assert_match %r/\A\{"pid":\d+\}\n\z/, @layout.format(event)
|
95
|
+
|
96
|
+
@layout.items = %w[millis]
|
97
|
+
assert_match %r/\A\{"millis":\d+\}\n\z/, @layout.format(event)
|
98
|
+
|
99
|
+
@layout.items = %w[thread_id]
|
100
|
+
assert_match %r/\A\{"thread_id":-?\d+\}\n\z/, @layout.format(event)
|
101
|
+
|
102
|
+
@layout.items = %w[thread]
|
103
|
+
assert_equal %Q[{"thread":null}\n], @layout.format(event)
|
104
|
+
Thread.current[:name] = "Main"
|
105
|
+
assert_equal %Q[{"thread":"Main"}\n], @layout.format(event)
|
106
|
+
end
|
107
|
+
|
108
|
+
end # class TestJson
|
109
|
+
end # module TestLayouts
|
110
|
+
end # module TestLogging
|
111
|
+
|
112
|
+
# EOF
|
@@ -9,10 +9,10 @@ module TestLayouts
|
|
9
9
|
|
10
10
|
def setup
|
11
11
|
super
|
12
|
-
|
13
|
-
@
|
14
|
-
@levels = ::Logging::LEVELS
|
12
|
+
@layout = Logging.layouts.pattern({})
|
13
|
+
@levels = Logging::LEVELS
|
15
14
|
@date_fmt = '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}'
|
15
|
+
Thread.current[:name] = nil
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_date_method
|
@@ -58,8 +58,8 @@ module TestLayouts
|
|
58
58
|
def test_format
|
59
59
|
fmt = '\[' + @date_fmt + '\] %s -- %s : %s\n'
|
60
60
|
|
61
|
-
event =
|
62
|
-
|
61
|
+
event = Logging::LogEvent.new('ArrayLogger', @levels['info'],
|
62
|
+
'log message', false)
|
63
63
|
rgxp = Regexp.new(sprintf(fmt, 'INFO ', 'ArrayLogger', 'log message'))
|
64
64
|
assert_match rgxp, @layout.format(event)
|
65
65
|
|
@@ -92,8 +92,8 @@ module TestLayouts
|
|
92
92
|
end
|
93
93
|
|
94
94
|
def test_pattern_eq
|
95
|
-
event =
|
96
|
-
|
95
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
96
|
+
['log message'], false)
|
97
97
|
|
98
98
|
@layout.pattern = '%d'
|
99
99
|
assert_equal '%d', @layout.pattern
|
@@ -101,8 +101,8 @@ module TestLayouts
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def test_pattern_all
|
104
|
-
event =
|
105
|
-
|
104
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
105
|
+
'log message', false)
|
106
106
|
event.instance_variable_set :@file, 'test_file.rb'
|
107
107
|
event.instance_variable_set :@line, '123'
|
108
108
|
event.instance_variable_set :@method, 'method_name'
|
@@ -0,0 +1,121 @@
|
|
1
|
+
|
2
|
+
require File.join(File.dirname(__FILE__), %w[.. setup])
|
3
|
+
|
4
|
+
module TestLogging
|
5
|
+
module TestLayouts
|
6
|
+
|
7
|
+
class TestYaml < Test::Unit::TestCase
|
8
|
+
include LoggingTestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
super
|
12
|
+
@layout = Logging.layouts.yaml({})
|
13
|
+
@levels = Logging::LEVELS
|
14
|
+
@date_fmt = '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}'
|
15
|
+
Thread.current[:name] = nil
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_format
|
19
|
+
h = {
|
20
|
+
'level' => 'INFO',
|
21
|
+
'logger' => 'ArrayLogger',
|
22
|
+
'message' => 'log message'
|
23
|
+
}
|
24
|
+
|
25
|
+
event = Logging::LogEvent.new('ArrayLogger', @levels['info'],
|
26
|
+
'log message', false)
|
27
|
+
assert_yaml_match h, @layout.format(event)
|
28
|
+
|
29
|
+
event.data = [1, 2, 3, 4]
|
30
|
+
h['message'] = "<Array> #{[1,2,3,4]}"
|
31
|
+
assert_yaml_match h, @layout.format(event)
|
32
|
+
|
33
|
+
event.level = @levels['debug']
|
34
|
+
event.data = 'and another message'
|
35
|
+
h['level'] = 'DEBUG'
|
36
|
+
h['message'] = 'and another message'
|
37
|
+
assert_yaml_match h, @layout.format(event)
|
38
|
+
|
39
|
+
event.logger = 'Test'
|
40
|
+
event.level = @levels['fatal']
|
41
|
+
event.data = Exception.new
|
42
|
+
h['level'] = 'FATAL'
|
43
|
+
h['logger'] = 'Test'
|
44
|
+
h['message'] = '<Exception> Exception'
|
45
|
+
assert_yaml_match h, @layout.format(event)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_items
|
49
|
+
assert_equal %w[timestamp level logger message], @layout.items
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_items_eq
|
53
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
54
|
+
['log message'], false)
|
55
|
+
|
56
|
+
@layout.items = %w[timestamp]
|
57
|
+
assert_equal %w[timestamp], @layout.items
|
58
|
+
assert_match %r/--- \ntimestamp: #@date_fmt\n/, @layout.format(event)
|
59
|
+
|
60
|
+
# 'foo' is not a recognized item
|
61
|
+
assert_raise(ArgumentError) {
|
62
|
+
@layout.items = %w[timestamp logger foo]
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_items_all
|
67
|
+
event = Logging::LogEvent.new('TestLogger', @levels['info'],
|
68
|
+
'log message', false)
|
69
|
+
event.instance_variable_set :@file, 'test_file.rb'
|
70
|
+
event.instance_variable_set :@line, 123
|
71
|
+
event.instance_variable_set :@method, 'method_name'
|
72
|
+
|
73
|
+
@layout.items = %w[logger]
|
74
|
+
assert_equal %Q[--- \nlogger: TestLogger\n], @layout.format(event)
|
75
|
+
|
76
|
+
@layout.items = %w[file]
|
77
|
+
assert_equal %Q[--- \nfile: test_file.rb\n], @layout.format(event)
|
78
|
+
|
79
|
+
@layout.items = %w[level]
|
80
|
+
assert_equal %Q[--- \nlevel: INFO\n], @layout.format(event)
|
81
|
+
|
82
|
+
@layout.items = %w[line]
|
83
|
+
assert_equal %Q[--- \nline: 123\n], @layout.format(event)
|
84
|
+
|
85
|
+
@layout.items = %w[message]
|
86
|
+
assert_equal %Q[--- \nmessage: log message\n], @layout.format(event)
|
87
|
+
|
88
|
+
@layout.items = %w[method]
|
89
|
+
assert_equal %Q[--- \nmethod: method_name\n], @layout.format(event)
|
90
|
+
|
91
|
+
@layout.items = %w[pid]
|
92
|
+
assert_match %r/\A--- \npid: \d+\n\z/, @layout.format(event)
|
93
|
+
|
94
|
+
@layout.items = %w[millis]
|
95
|
+
assert_match %r/\A--- \nmillis: \d+\n\z/, @layout.format(event)
|
96
|
+
|
97
|
+
@layout.items = %w[thread_id]
|
98
|
+
assert_match %r/\A--- \nthread_id: -?\d+\n\z/, @layout.format(event)
|
99
|
+
|
100
|
+
@layout.items = %w[thread]
|
101
|
+
assert_equal %Q[--- \nthread: \n], @layout.format(event)
|
102
|
+
Thread.current[:name] = "Main"
|
103
|
+
assert_equal %Q[--- \nthread: Main\n], @layout.format(event)
|
104
|
+
end
|
105
|
+
|
106
|
+
private
|
107
|
+
|
108
|
+
def assert_yaml_match( expected, actual )
|
109
|
+
actual = YAML.load(actual)
|
110
|
+
|
111
|
+
assert_match %r/#@date_fmt/o, actual['timestamp']
|
112
|
+
assert_equal expected['level'], actual['level']
|
113
|
+
assert_equal expected['logger'], actual['logger']
|
114
|
+
assert_equal expected['message'], actual['message']
|
115
|
+
end
|
116
|
+
|
117
|
+
end # class TestYaml
|
118
|
+
end # module TestLayouts
|
119
|
+
end # module TestLogging
|
120
|
+
|
121
|
+
# EOF
|
data/test/setup.rb
CHANGED
@@ -59,7 +59,7 @@ module LoggingTestCase
|
|
59
59
|
super
|
60
60
|
::Logging.backtrace
|
61
61
|
::Logging.__send__(:remove_instance_variable, :@backtrace)
|
62
|
-
h = ::Logging::
|
62
|
+
h = ::Logging::Appenders.instance_variable_get(:@appenders)
|
63
63
|
h.each_value {|a| a.close(false) unless a.nil? || a.closed?}
|
64
64
|
h.clear
|
65
65
|
FileUtils.rm_rf TMP
|
data/test/test_appender.rb
CHANGED
@@ -40,20 +40,6 @@ module TestLogging
|
|
40
40
|
assert_raise(RuntimeError) {@appender.append @event}
|
41
41
|
end
|
42
42
|
|
43
|
-
def test_class_stderr
|
44
|
-
stderr = ::Logging::Appender.stderr
|
45
|
-
assert_instance_of ::Logging::Appenders::Stderr, stderr
|
46
|
-
assert_equal 'stderr', stderr.name
|
47
|
-
assert_same stderr, ::Logging::Appender.stderr
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_class_stdout
|
51
|
-
stdout = ::Logging::Appender.stdout
|
52
|
-
assert_instance_of ::Logging::Appenders::Stdout, stdout
|
53
|
-
assert_equal 'stdout', stdout.name
|
54
|
-
assert_same stdout, ::Logging::Appender.stdout
|
55
|
-
end
|
56
|
-
|
57
43
|
def test_close
|
58
44
|
assert_equal false, @appender.closed?
|
59
45
|
|
data/test/test_log_event.rb
CHANGED
data/test/test_logging.rb
CHANGED
@@ -50,11 +50,11 @@ module TestLogging
|
|
50
50
|
assert_equal 3, ::Logging::Logger.root.level
|
51
51
|
|
52
52
|
# verify the appenders
|
53
|
-
h = ::Logging::
|
53
|
+
h = ::Logging::Appenders.instance_variable_get :@appenders
|
54
54
|
assert_equal ['logfile', 'stderr'], h.keys.sort
|
55
55
|
|
56
56
|
# start with the File appender
|
57
|
-
logfile = ::Logging::
|
57
|
+
logfile = ::Logging::Appenders['logfile']
|
58
58
|
assert_instance_of ::Logging::Appenders::File, logfile
|
59
59
|
assert_equal 0, logfile.level
|
60
60
|
assert_equal 'tmp/temp.log', logfile.instance_variable_get(:@fn)
|
@@ -66,7 +66,7 @@ module TestLogging
|
|
66
66
|
assert_nil layout.date_pattern
|
67
67
|
|
68
68
|
# and now the Stderr appender
|
69
|
-
stderr = ::Logging::
|
69
|
+
stderr = ::Logging::Appenders['stderr']
|
70
70
|
assert_instance_of ::Logging::Appenders::Stderr, stderr
|
71
71
|
assert_equal 0, stderr.level
|
72
72
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Pease
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-17 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -60,8 +60,17 @@ files:
|
|
60
60
|
- data/logging.rb
|
61
61
|
- data/logging.yaml
|
62
62
|
- data/simple_logging.rb
|
63
|
+
- examples/appenders.rb
|
64
|
+
- examples/classes.rb
|
65
|
+
- examples/formatting.rb
|
66
|
+
- examples/hierarchies.rb
|
67
|
+
- examples/layouts.rb
|
68
|
+
- examples/loggers.rb
|
69
|
+
- examples/names.rb
|
70
|
+
- examples/simple.rb
|
63
71
|
- lib/logging.rb
|
64
72
|
- lib/logging/appender.rb
|
73
|
+
- lib/logging/appenders.rb
|
65
74
|
- lib/logging/appenders/buffering.rb
|
66
75
|
- lib/logging/appenders/console.rb
|
67
76
|
- lib/logging/appenders/email.rb
|
@@ -74,7 +83,9 @@ files:
|
|
74
83
|
- lib/logging/config/configurator.rb
|
75
84
|
- lib/logging/config/yaml_configurator.rb
|
76
85
|
- lib/logging/layout.rb
|
86
|
+
- lib/logging/layouts.rb
|
77
87
|
- lib/logging/layouts/basic.rb
|
88
|
+
- lib/logging/layouts/parseable.rb
|
78
89
|
- lib/logging/layouts/pattern.rb
|
79
90
|
- lib/logging/log_event.rb
|
80
91
|
- lib/logging/logger.rb
|
@@ -108,7 +119,9 @@ files:
|
|
108
119
|
- test/config/test_configurator.rb
|
109
120
|
- test/config/test_yaml_configurator.rb
|
110
121
|
- test/layouts/test_basic.rb
|
122
|
+
- test/layouts/test_json.rb
|
111
123
|
- test/layouts/test_pattern.rb
|
124
|
+
- test/layouts/test_yaml.rb
|
112
125
|
- test/setup.rb
|
113
126
|
- test/test_appender.rb
|
114
127
|
- test/test_layout.rb
|
@@ -158,7 +171,9 @@ test_files:
|
|
158
171
|
- test/config/test_configurator.rb
|
159
172
|
- test/config/test_yaml_configurator.rb
|
160
173
|
- test/layouts/test_basic.rb
|
174
|
+
- test/layouts/test_json.rb
|
161
175
|
- test/layouts/test_pattern.rb
|
176
|
+
- test/layouts/test_yaml.rb
|
162
177
|
- test/test_appender.rb
|
163
178
|
- test/test_layout.rb
|
164
179
|
- test/test_log_event.rb
|