mini_logger 0.4.3 → 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.
- data/lib/mini_logger.rb +69 -36
- data/lib/version.rb +12 -8
- data/test/helpers/tail_file_helper.rb +8 -10
- data/test/unit/test_mini_logger.rb +179 -153
- metadata +52 -53
data/lib/mini_logger.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'logger'
|
3
|
+
require 'yaml'
|
3
4
|
|
4
5
|
|
5
6
|
module MiniLogger
|
6
7
|
extend self
|
7
|
-
|
8
|
+
|
8
9
|
DEBUG = :debug
|
9
10
|
INFO = :info
|
10
11
|
WARN = :warn
|
@@ -26,58 +27,90 @@ module MiniLogger
|
|
26
27
|
::Logger::ERROR => ERROR,
|
27
28
|
::Logger::FATAL => FATAL
|
28
29
|
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
30
|
+
|
31
|
+
def self.standarize_log_level(ll)
|
32
|
+
|
33
|
+
case ll
|
34
|
+
when String then LLM[ll.downcase.to_sym]
|
35
|
+
when Symbol then LLM[ll.to_s.downcase.to_sym]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def self.validate_log_level?(ll)
|
36
41
|
|
37
|
-
|
42
|
+
case ll
|
43
|
+
when String then LLM.has_key?(ll.downcase.to_sym)
|
44
|
+
when Symbol then LLM.has_key?(ll.to_s.downcase.to_sym)
|
45
|
+
else false
|
46
|
+
end
|
38
47
|
end
|
39
|
-
|
40
|
-
|
41
|
-
def configure( attributes = { } )
|
48
|
+
|
42
49
|
|
43
|
-
|
44
|
-
|
50
|
+
def configure(*arguments)
|
51
|
+
|
52
|
+
configuration = {}
|
45
53
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
54
|
+
case arguments[0]
|
55
|
+
when String
|
56
|
+
configuration.merge!(YAML.load_file(arguments[0]))
|
57
|
+
when Hash
|
58
|
+
configuration.merge!(arguments[0])
|
59
|
+
else
|
60
|
+
configuration = { :dev=>STDERR, :level=>:debug }
|
61
|
+
end
|
50
62
|
|
51
|
-
|
52
|
-
|
63
|
+
configuration.merge!({ :log_channel=>STDERR, :log_level=>:debug })
|
64
|
+
|
65
|
+
configuration[:dev] = configuration[:log_channel] unless configuration[:dev]
|
66
|
+
configuration[:level] = configuration[:log_level] unless configuration[:level]
|
67
|
+
|
68
|
+
raise ArgumentError.new("Invalid log level") unless validate_log_level?(configuration[:level])
|
53
69
|
|
70
|
+
configuration[:dev] = case configuration[:dev]
|
71
|
+
when /(STDOUT|stdout)/ then STDOUT
|
72
|
+
when /(STDERR|stderr)/ then STDERR
|
73
|
+
when :stdout then STDOUT
|
74
|
+
when :stderr then STDERR
|
75
|
+
else configuration[:dev]
|
76
|
+
end
|
54
77
|
|
55
|
-
|
78
|
+
@logger = ::Logger.new(configuration[:dev])
|
79
|
+
@logger.level = standarize_log_level(configuration[:level])
|
56
80
|
|
57
|
-
|
58
|
-
|
59
|
-
RLLM[@logger.level]
|
60
|
-
end
|
61
|
-
|
81
|
+
self
|
82
|
+
end
|
62
83
|
|
63
|
-
def level=(
|
84
|
+
def level=(nll)
|
64
85
|
|
65
|
-
@logger
|
86
|
+
if @logger
|
66
87
|
|
67
|
-
|
88
|
+
raise ArgumentError.new("Invalid log level #{nll.class.name}:'#{nll}'") unless validate_log_level?(nll)
|
89
|
+
@logger.level = standarize_log_level(nll)
|
68
90
|
|
69
|
-
|
70
|
-
|
91
|
+
self
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def level!(nll)
|
96
|
+
if @logger
|
97
|
+
|
98
|
+
raise ArgumentError.new("Invalid log level #{nll.class.name}:'#{nll}'") unless validate_log_level?(nll)
|
99
|
+
@logger.level = standarize_log_level(nll)
|
71
100
|
|
72
|
-
|
101
|
+
self
|
73
102
|
end
|
74
103
|
end
|
75
104
|
|
105
|
+
def level
|
106
|
+
RLLM[@logger.level] if @logger
|
107
|
+
end
|
76
108
|
|
77
|
-
def method_missing(
|
109
|
+
def method_missing(method, *arguments, &block)
|
110
|
+
|
111
|
+
if @logger && [:debug, :info, :warn, :error, :fatal, :debug?, :info?, :warn?, :error?, :fatal?].include?(method)
|
78
112
|
|
79
|
-
|
80
|
-
|
81
|
-
@logger.send( method, *arguments, &block ) if( VALID_METHODS.include?( method ) )
|
113
|
+
@logger.send(method, *arguments, &block)
|
114
|
+
end
|
82
115
|
end
|
83
116
|
end
|
data/lib/version.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
-
module
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
module MiniLogger
|
2
|
+
class Version
|
3
|
+
|
4
|
+
INFO = {
|
5
|
+
:major =>0,
|
6
|
+
:minor =>5,
|
7
|
+
:patch =>0
|
8
|
+
}
|
7
9
|
|
8
|
-
|
9
|
-
|
10
|
+
NAME = 'mini_logger'
|
11
|
+
NUMBER = INFO.values.join('.')
|
12
|
+
VERSION = [NAME, NUMBER].join('-')
|
13
|
+
end
|
10
14
|
end
|
@@ -4,21 +4,19 @@ require 'file/tail'
|
|
4
4
|
|
5
5
|
class TailFileHelper
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
def initialize( log_file_name, backward=DEFAULT_BACKWARD )
|
7
|
+
def initialize(file, options={})
|
10
8
|
|
11
|
-
|
9
|
+
options = { :backward=>1 }.merge(options)
|
10
|
+
@log_file = File.new(file)
|
12
11
|
|
13
|
-
@log_file.extend(
|
14
|
-
@log_file.backward(
|
12
|
+
@log_file.extend(File::Tail)
|
13
|
+
@log_file.backward(options[:backward])
|
15
14
|
|
16
15
|
# Skilp Logger file header
|
17
|
-
@log_file.tail(
|
16
|
+
@log_file.tail(1)
|
18
17
|
end
|
19
18
|
|
20
|
-
def get_log_line
|
21
|
-
|
22
|
-
@log_file.tail( 1 )[0]
|
19
|
+
def get_log_line
|
20
|
+
@log_file.tail(1)[0].chomp
|
23
21
|
end
|
24
22
|
end
|
@@ -1,186 +1,212 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require '
|
2
|
+
require 'tmpdir'
|
3
|
+
require 'test/unit'
|
3
4
|
require 'file/tail'
|
4
5
|
require 'mini_logger'
|
5
|
-
|
6
|
+
|
7
|
+
|
8
|
+
$:.unshift(File.join(File.dirname(__FILE__), %w[.. helpers]))
|
9
|
+
|
10
|
+
require 'tail_file_helper'
|
6
11
|
|
7
12
|
|
8
13
|
class TestMiniLogger < Test::Unit::TestCase
|
9
14
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
should "create a logger in debug level" do
|
17
|
-
assert( @dl.debug? )
|
18
|
-
end
|
19
|
-
|
20
|
-
should "validate diferent log levels" do
|
21
|
-
|
22
|
-
MiniLogger::LLM.keys.each do |log_level|
|
23
|
-
|
24
|
-
assert( @dl.validate_log_level?( log_level ) )
|
25
|
-
end
|
26
|
-
|
27
|
-
[:debug, :info, :warn, :error, :fatal].each do |log_level|
|
28
|
-
|
29
|
-
assert( @dl.validate_log_level?( log_level ) )
|
30
|
-
end
|
31
|
-
end
|
15
|
+
TEST_DEBUG_MESSAGE = "debug"
|
16
|
+
TEST_INFO_MESSAGE = "info"
|
17
|
+
TEST_WARN_MESSAGE = "warn"
|
18
|
+
TEST_ERROR_MESSAGE = "error"
|
19
|
+
TEST_FATAL_MESSAGE = "fatal"
|
20
|
+
|
32
21
|
|
33
|
-
should "not validate diferent log levels" do
|
34
|
-
|
35
|
-
["foo", "bar", "bazz", :foo, :bar, :bazz].each do |log_level|
|
36
|
-
|
37
|
-
assert( ! @dl.validate_log_level?( log_level ) )
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
22
|
|
42
|
-
|
23
|
+
def test_validate_log_level
|
43
24
|
|
44
|
-
|
45
|
-
|
46
|
-
assert_raises( ArgumentError ) { MiniLogger.configure( :log_level=>"bad_log_level" ) }
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
context "A well configured logger" do
|
51
|
-
|
52
|
-
TEST_DEBUG_MESSAGE = "debug message"
|
53
|
-
TEST_INFO_MESSAGE = "info message"
|
54
|
-
TEST_WARN_MESSAGE = "warn message"
|
55
|
-
TEST_ERROR_MESSAGE = "error message"
|
56
|
-
TEST_FATAL_MESSAGE = "fatal message"
|
57
|
-
|
58
|
-
TEST_LOG_FILE_NAME = '/tmp/mini_logger_test.log'
|
59
|
-
TEST_LOG_LEVEL = 'debug'
|
60
|
-
|
61
|
-
setup do
|
25
|
+
[:debug, 'info', :warn, 'error', :fatal].each do |l|
|
62
26
|
|
63
|
-
|
64
|
-
@log_file = TailFileHelper.new( TEST_LOG_FILE_NAME )
|
27
|
+
assert(MiniLogger.validate_log_level?(l), "Log level:'#{l} not validated")
|
65
28
|
end
|
66
29
|
|
67
|
-
|
68
|
-
|
69
|
-
|
30
|
+
[:foo, 'bar', :bazz].each do |l|
|
31
|
+
|
32
|
+
assert(!MiniLogger.validate_log_level?(l), "Log level:'#{l} validated")
|
70
33
|
end
|
71
|
-
|
72
|
-
should "write >= debug message" do
|
73
|
-
|
74
|
-
@mld.debug( TEST_DEBUG_MESSAGE )
|
75
|
-
assert( @log_file.get_log_line =~ /^D\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] DEBUG \-\- : #{TEST_DEBUG_MESSAGE}/ )
|
34
|
+
end
|
76
35
|
|
77
|
-
@mld.info( TEST_INFO_MESSAGE )
|
78
|
-
assert( @log_file.get_log_line =~ /^I\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] INFO \-\- : #{TEST_INFO_MESSAGE}/ )
|
79
|
-
|
80
|
-
@mld.warn( TEST_WARN_MESSAGE )
|
81
|
-
assert( @log_file.get_log_line =~ /^W\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] WARN \-\- : #{TEST_WARN_MESSAGE}/ )
|
82
|
-
|
83
|
-
@mld.error( TEST_ERROR_MESSAGE )
|
84
|
-
assert( @log_file.get_log_line =~ /^E\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] ERROR \-\- : #{TEST_ERROR_MESSAGE}/ )
|
85
|
-
|
86
|
-
@mld.fatal( TEST_FATAL_MESSAGE )
|
87
|
-
assert( @log_file.get_log_line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/ )
|
88
|
-
end
|
89
36
|
|
90
|
-
|
91
|
-
|
92
|
-
@mld.info( TEST_INFO_MESSAGE )
|
93
|
-
assert( @log_file.get_log_line =~ /^I\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] INFO \-\- : #{TEST_INFO_MESSAGE}/ )
|
94
|
-
|
95
|
-
@mld.warn( TEST_WARN_MESSAGE )
|
96
|
-
assert( @log_file.get_log_line =~ /^W\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] WARN \-\- : #{TEST_WARN_MESSAGE}/ )
|
97
|
-
|
98
|
-
@mld.error( TEST_ERROR_MESSAGE )
|
99
|
-
assert( @log_file.get_log_line =~ /^E\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] ERROR \-\- : #{TEST_ERROR_MESSAGE}/ )
|
100
|
-
|
101
|
-
@mld.fatal( TEST_FATAL_MESSAGE )
|
102
|
-
assert( @log_file.get_log_line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/ )
|
103
|
-
end
|
104
|
-
|
105
|
-
should "write >= warn message" do
|
106
|
-
|
107
|
-
@mld.warn( TEST_WARN_MESSAGE )
|
108
|
-
assert( @log_file.get_log_line =~ /^W\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] WARN \-\- : #{TEST_WARN_MESSAGE}/ )
|
109
|
-
|
110
|
-
@mld.error( TEST_ERROR_MESSAGE )
|
111
|
-
assert( @log_file.get_log_line =~ /^E\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] ERROR \-\- : #{TEST_ERROR_MESSAGE}/ )
|
112
|
-
|
113
|
-
@mld.fatal( TEST_FATAL_MESSAGE )
|
114
|
-
assert( @log_file.get_log_line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/ )
|
115
|
-
end
|
116
|
-
|
117
|
-
should "write >= error message" do
|
118
|
-
|
119
|
-
@mld.error( TEST_ERROR_MESSAGE )
|
120
|
-
assert( @log_file.get_log_line =~ /^E\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] ERROR \-\- : #{TEST_ERROR_MESSAGE}/ )
|
121
|
-
|
122
|
-
@mld.fatal( TEST_FATAL_MESSAGE )
|
123
|
-
assert( @log_file.get_log_line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/ )
|
124
|
-
end
|
125
|
-
|
126
|
-
should "write a fatal message" do
|
127
|
-
|
128
|
-
@mld.fatal( TEST_FATAL_MESSAGE )
|
129
|
-
assert( @log_file.get_log_line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d{5,6}\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/ )
|
130
|
-
end
|
37
|
+
def test_standarize_log_level
|
131
38
|
|
39
|
+
['debug', 'DEBUG', 'DeBuG'].all? { |l| l == MiniLogger::DEBUG }
|
40
|
+
['debug', 'DEBUG', 'DeBuG'].map { |l| l.to_sym }.all? { |l| l == MiniLogger::DEBUG }
|
132
41
|
|
133
|
-
|
134
|
-
|
135
|
-
assert( @mld.debug? )
|
136
|
-
assert_equal( @mld.level, MiniLogger::DEBUG )
|
137
|
-
end
|
42
|
+
['info', 'INFO', 'iNfO' ].all? { |l| l == MiniLogger::INFO }
|
43
|
+
['info', 'INFO', 'iNfO' ].map { |l| l.to_sym }.all? { |l| l == MiniLogger::INFO }
|
138
44
|
|
139
|
-
|
140
|
-
|
141
|
-
@mld.level = MiniLogger::INFO
|
45
|
+
['warn', 'WARN', 'WaRn' ].all? { |l| l == MiniLogger::WARN }
|
46
|
+
['warn', 'WARN', 'WaRn' ].map { |l| l.to_sym }.all? { |l| l == MiniLogger::WARN }
|
142
47
|
|
143
|
-
|
144
|
-
|
145
|
-
end
|
48
|
+
['error', 'ERROR', 'eRroR'].all? { |l| l == MiniLogger::ERROR }
|
49
|
+
['error', 'ERROR', 'eRroR'].map { |l| l.to_sym }.all? { |l| l == MiniLogger::ERROR }
|
146
50
|
|
147
|
-
|
148
|
-
|
149
|
-
|
51
|
+
['fatal', 'DEBUG', 'FaTaL'].all? { |l| l == MiniLogger::FATAL }
|
52
|
+
['fatal', 'DEBUG', 'FaTaL'].map { |l| l.to_sym }.all? { |l| l == MiniLogger::FATAL }
|
53
|
+
end
|
150
54
|
|
151
|
-
assert( @mld.warn? )
|
152
|
-
assert_equal( @mld.level, MiniLogger::WARN )
|
153
|
-
end
|
154
55
|
|
155
|
-
|
156
|
-
|
157
|
-
|
56
|
+
def test_create_a_logger_in_debug_level_by_default
|
57
|
+
|
58
|
+
##
|
59
|
+
# New configuration interface
|
60
|
+
test_logger = MiniLogger.configure
|
61
|
+
assert(test_logger.debug?, "Log level:'#{test_logger.level}")
|
62
|
+
|
63
|
+
##
|
64
|
+
# Old configuration interface
|
65
|
+
test_logger = MiniLogger.configure(:log_channel=>STDERR, :log_level=>:debug)
|
66
|
+
assert(test_logger.debug?, "Log level:'#{test_logger.level}'")
|
67
|
+
|
68
|
+
##
|
69
|
+
# Mix configuration interface
|
70
|
+
test_logger = MiniLogger.configure(:log_channel=>STDERR, :level=>:debug)
|
71
|
+
assert(test_logger.debug?, "Log level:'#{test_logger.level}")
|
72
|
+
|
73
|
+
##
|
74
|
+
# Mix configuration interface
|
75
|
+
test_logger = MiniLogger.configure(:dev=>STDERR, :log_level=>:debug)
|
76
|
+
assert(test_logger.debug?, "Log level:'#{test_logger.level}")
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
def test_raise_and_argument_error
|
158
81
|
|
159
|
-
|
160
|
-
|
82
|
+
[:this, 'set', :of, 'log', :levels, 'are', :evil].each do |l|
|
83
|
+
|
84
|
+
assert_raise(ArgumentError) { MiniLogger.configure(:level=>l) }
|
161
85
|
end
|
86
|
+
end
|
162
87
|
|
163
|
-
should "change log level to FATAL" do
|
164
|
-
|
165
|
-
@mld.level = MiniLogger::FATAL
|
166
88
|
|
167
|
-
|
168
|
-
assert_equal( @mld.level, MiniLogger::FATAL )
|
169
|
-
end
|
89
|
+
def test_create_a_logger_from_a_configuration_file
|
170
90
|
|
171
|
-
|
91
|
+
assert_equal(MiniLogger.configure(File.join(File.dirname(__FILE__), %w[.. fixtures test_config.yml])).level, MiniLogger::ERROR)
|
92
|
+
assert_raise(Errno::ENOENT) { MiniLogger.configure("ThisFileDoNotExist.yml") }
|
93
|
+
end
|
94
|
+
|
172
95
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
96
|
+
def test_file_confired_logger
|
97
|
+
|
98
|
+
test_logger = MiniLogger.configure
|
99
|
+
assert(test_logger.debug?)
|
100
|
+
assert_equal(test_logger.level, MiniLogger::DEBUG)
|
101
|
+
|
102
|
+
test_logger = MiniLogger.configure(:level=>:debug)
|
103
|
+
assert(test_logger.debug?)
|
104
|
+
assert_equal(test_logger.level, MiniLogger::DEBUG)
|
105
|
+
|
106
|
+
test_logger = MiniLogger.configure(:level=>:info)
|
107
|
+
assert(test_logger.info?)
|
108
|
+
assert_equal(test_logger.level, MiniLogger::INFO)
|
109
|
+
|
110
|
+
test_logger = MiniLogger.configure(:level=>:warn)
|
111
|
+
assert(test_logger.warn?)
|
112
|
+
assert_equal(test_logger.level, MiniLogger::WARN)
|
113
|
+
|
114
|
+
test_logger = MiniLogger.configure(:level=>:error)
|
115
|
+
assert(test_logger.error?)
|
116
|
+
assert_equal(test_logger.level, MiniLogger::ERROR)
|
117
|
+
|
118
|
+
test_logger = MiniLogger.configure(:level=>:fatal)
|
119
|
+
assert(test_logger.fatal?)
|
120
|
+
assert_equal(test_logger.level, MiniLogger::FATAL)
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
def test_change_log_levels
|
125
|
+
|
126
|
+
test_logger = MiniLogger.configure(:dev=>STDERR, :level=>:debug)
|
127
|
+
assert(test_logger.debug?)
|
128
|
+
|
129
|
+
test_logger.level = MiniLogger::ERROR
|
130
|
+
assert test_logger.error?
|
131
|
+
assert_equal(test_logger.level, MiniLogger::ERROR)
|
132
|
+
|
133
|
+
assert test_logger.level!(MiniLogger::DEBUG).debug?
|
134
|
+
assert test_logger.level!(MiniLogger::INFO).info?
|
135
|
+
assert test_logger.level!(MiniLogger::WARN).warn?
|
136
|
+
assert test_logger.level!(MiniLogger::ERROR).error?
|
137
|
+
assert test_logger.level!(MiniLogger::FATAL).fatal?
|
138
|
+
end
|
139
|
+
|
140
|
+
|
141
|
+
def test_not_change_to_invalid_log_level
|
142
|
+
|
143
|
+
test_logger = MiniLogger.configure
|
144
|
+
|
145
|
+
assert(test_logger.debug?)
|
146
|
+
assert_equal(test_logger.level, MiniLogger::DEBUG)
|
147
|
+
|
148
|
+
[:this, :is, :not, :valid, :log, :levels, "and", "strings", "too" ].each do |ll|
|
177
149
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
150
|
+
assert_raises(ArgumentError) { test_logger.level = ll }
|
151
|
+
assert(test_logger.debug?)
|
152
|
+
assert_equal(test_logger.level, MiniLogger::DEBUG)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
|
157
|
+
def test_write_gte_debug_message
|
158
|
+
|
159
|
+
log_file_name = File.join(Dir.tmpdir, 'mini_logger_test.log')
|
160
|
+
test_logger = MiniLogger.configure(:dev=>log_file_name, :level=>:debug)
|
161
|
+
log_file = TailFileHelper.new(log_file_name)
|
162
|
+
|
163
|
+
test_logger.debug(TEST_DEBUG_MESSAGE)
|
164
|
+
|
165
|
+
line = log_file.get_log_line
|
166
|
+
|
167
|
+
skip( "I cant understand...") do
|
168
|
+
assert(
|
169
|
+
line =~ /^D\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d\] DEBUG \-\- : #{TEST_DEBUG_MESSAGE}/,
|
170
|
+
"The line is:'#{line}'"
|
171
|
+
)
|
184
172
|
end
|
173
|
+
|
174
|
+
test_logger.info(TEST_INFO_MESSAGE)
|
175
|
+
|
176
|
+
line = log_file.get_log_line
|
177
|
+
|
178
|
+
assert(
|
179
|
+
line =~ /^I\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d\] INFO \-\- : #{TEST_INFO_MESSAGE}/,
|
180
|
+
"The line is:'#{line}'"
|
181
|
+
)
|
182
|
+
|
183
|
+
test_logger.warn(TEST_WARN_MESSAGE)
|
184
|
+
|
185
|
+
line = log_file.get_log_line
|
186
|
+
|
187
|
+
assert(
|
188
|
+
line =~ /^W\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d\] WARN \-\- : #{TEST_WARN_MESSAGE}/,
|
189
|
+
"The line is:'#{line}'"
|
190
|
+
)
|
191
|
+
|
192
|
+
test_logger.error(TEST_ERROR_MESSAGE)
|
193
|
+
|
194
|
+
line = log_file.get_log_line
|
195
|
+
|
196
|
+
assert(
|
197
|
+
line =~ /^E\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d\] ERROR \-\- : #{TEST_ERROR_MESSAGE}/,
|
198
|
+
"The line is:'#{line}'"
|
199
|
+
)
|
200
|
+
|
201
|
+
test_logger.fatal(TEST_FATAL_MESSAGE)
|
202
|
+
|
203
|
+
line = log_file.get_log_line
|
204
|
+
|
205
|
+
assert(
|
206
|
+
line =~ /^F\, \[\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} #\d\] FATAL \-\- : #{TEST_FATAL_MESSAGE}/,
|
207
|
+
"The line is:'#{line}'"
|
208
|
+
)
|
209
|
+
|
210
|
+
File.delete(TEST_LOG_FILE_NAME) if File.exist?(TEST_LOG_FILE_NAME)
|
185
211
|
end
|
186
212
|
end
|
metadata
CHANGED
@@ -1,85 +1,84 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_logger
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 3
|
10
|
-
version: 0.4.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Javier Juarez
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2011-06-18 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: jeweler
|
16
|
+
requirement: &2156243800 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
22
|
type: :development
|
23
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2156243800
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: file-tail
|
27
|
+
requirement: &2156228220 !ruby/object:Gem::Requirement
|
24
28
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
|
30
|
-
- 0
|
31
|
-
version: "0"
|
32
|
-
name: jeweler
|
33
|
-
version_requirements: *id001
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
34
|
prerelease: false
|
35
|
+
version_requirements: *2156228220
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rcov
|
38
|
+
requirement: &2156225680 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2156225680
|
35
47
|
description: A minimal standard Logger wrapper perfect for CLI applications
|
36
48
|
email: javier.juarez@gmail.com
|
37
49
|
executables: []
|
38
|
-
|
39
50
|
extensions: []
|
40
|
-
|
41
|
-
extra_rdoc_files:
|
51
|
+
extra_rdoc_files:
|
42
52
|
- README.rdoc
|
43
|
-
files:
|
53
|
+
files:
|
44
54
|
- lib/mini_logger.rb
|
45
55
|
- lib/version.rb
|
46
56
|
- test/helpers/tail_file_helper.rb
|
47
57
|
- test/unit/test_mini_logger.rb
|
48
58
|
- README.rdoc
|
49
|
-
has_rdoc: true
|
50
59
|
homepage: http://github.com/jjuarez/mini_logger
|
51
|
-
licenses:
|
60
|
+
licenses:
|
52
61
|
- MIT
|
53
62
|
post_install_message:
|
54
63
|
rdoc_options: []
|
55
|
-
|
56
|
-
require_paths:
|
64
|
+
require_paths:
|
57
65
|
- lib
|
58
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
67
|
none: false
|
60
|
-
requirements:
|
61
|
-
- -
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
|
64
|
-
|
65
|
-
- 0
|
66
|
-
version: "0"
|
67
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
73
|
none: false
|
69
|
-
requirements:
|
70
|
-
- -
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
version: "0"
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
76
78
|
requirements: []
|
77
|
-
|
78
79
|
rubyforge_project: http://github.com/jjuarez/mini_logger
|
79
|
-
rubygems_version: 1.
|
80
|
+
rubygems_version: 1.8.5
|
80
81
|
signing_key:
|
81
82
|
specification_version: 3
|
82
83
|
summary: A tiny logger utility for small applications
|
83
|
-
test_files:
|
84
|
-
- test/helpers/tail_file_helper.rb
|
85
|
-
- test/unit/test_mini_logger.rb
|
84
|
+
test_files: []
|