logification 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -3
- data/lib/logification/formatters/colorized.rb +18 -0
- data/lib/logification/formatters.rb +1 -0
- data/lib/logification/helpers/logging_methods.rb +6 -1
- data/lib/logification/helpers.rb +2 -2
- data/lib/logification/logger.rb +51 -15
- data/lib/logification/version.rb +1 -1
- data/lib/logification.rb +1 -0
- data/logification.gemspec +0 -1
- data/spec/logification/helpers/logging_methods_spec.rb +1 -1
- data/spec/logification/helpers/wrapper_spec.rb +3 -3
- data/spec/logification/logger_spec.rb +31 -1
- data/spec/logification_spec.rb +3 -2
- metadata +4 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9eaf81012ec4bac898fa9957e685d80c3a37658f
|
4
|
+
data.tar.gz: f0d6ac4419f5e9d3cf147265d90daddf61852efc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 337c009571bfbf13301e954dfda57e52a0184888fa0ff103cae8d30e6faba40818a78681f75a2ef719e694a3e479e1f7a396395f0d8724b5c67791f99094c23d
|
7
|
+
data.tar.gz: 9277194d9342db421da99c96f6cd8038511244538a051cdc86fcbc38c19b249dbb8f7bbf448ebc4cd1f97f9d573408a838ec44b5aa15903dc5288da4f7c650ed
|
data/README.md
CHANGED
@@ -7,7 +7,6 @@ Logification is an abstracted logging gem library. Its purpose is to simplyify a
|
|
7
7
|
|
8
8
|
Logification's purpose is to enhance existing libraries by providing features on top of their general output. It currently makes an assumption that the base logging library supports the following levels debug, info, warn, error, fatal.
|
9
9
|
|
10
|
-
Logification has been integrated with the already very powerful Log4r. But future goals are to make it even less dependent on any specific logging library.
|
11
10
|
|
12
11
|
## Installation
|
13
12
|
|
@@ -23,7 +22,7 @@ Or install it yourself as:
|
|
23
22
|
|
24
23
|
$ gem install logification
|
25
24
|
|
26
|
-
##
|
25
|
+
## Usage
|
27
26
|
|
28
27
|
```ruby
|
29
28
|
require "logification"
|
@@ -93,7 +92,6 @@ end
|
|
93
92
|
|
94
93
|
- Update README
|
95
94
|
- Add error handling, logging should be conspicuous.
|
96
|
-
- Remove dependency on log4r
|
97
95
|
- Think up more TODO items
|
98
96
|
- Make log level colors configurable
|
99
97
|
- Improve testing by writing more micro functional tests
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'colorize'
|
2
|
+
|
3
|
+
module Logification
|
4
|
+
module Formatters
|
5
|
+
class Colorized
|
6
|
+
def call(severity, datetime, progname, msg)
|
7
|
+
formatted_msg = "#{datetime.strftime('%FT%T%:z')} #{severity.ljust(5)} - #{progname} - #{msg}"
|
8
|
+
case severity
|
9
|
+
when "DEBUG" then formatted_msg.green
|
10
|
+
when "INFO" then formatted_msg.cyan
|
11
|
+
when "WARN" then formatted_msg.yellow
|
12
|
+
when "ERROR" then formatted_msg.red
|
13
|
+
when "FATAL" then formatted_msg.magenta
|
14
|
+
end + "\n"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require "logification/formatters/colorized"
|
@@ -33,9 +33,14 @@ module Logification
|
|
33
33
|
|
34
34
|
private
|
35
35
|
|
36
|
+
def is_disabled?
|
37
|
+
self.level == :disabled
|
38
|
+
end
|
39
|
+
|
36
40
|
def log_message(type, msg, color)
|
37
41
|
msg = messagify(msg)
|
38
|
-
|
42
|
+
return msg if is_disabled?
|
43
|
+
self.base_logger.send(type, msg.to_s.send(color))
|
39
44
|
msg
|
40
45
|
end
|
41
46
|
|
data/lib/logification/helpers.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require "logification/helpers/logging_methods"
|
2
|
+
require "logification/helpers/wrapper"
|
data/lib/logification/logger.rb
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
require "
|
2
|
-
require "log4r"
|
3
|
-
|
4
|
-
# http://stackoverflow.com/questions/5799823/ruby-uninitialized-constant-log4rdebug-nameerror-problem/5800326#5800326
|
5
|
-
Log4r.define_levels(*Log4r::Log4rConfig::LogLevels)
|
1
|
+
require "logger"
|
6
2
|
|
7
3
|
module Logification
|
8
4
|
|
@@ -21,11 +17,10 @@ module Logification
|
|
21
17
|
end
|
22
18
|
|
23
19
|
def default_logger(name)
|
24
|
-
|
25
|
-
l.
|
26
|
-
|
27
|
-
|
28
|
-
l.level = translate_level(:debug)
|
20
|
+
::Logger.new(STDOUT).tap do |l|
|
21
|
+
l.level = translate_level_in(:debug)
|
22
|
+
l.formatter = Logification::Formatters::Colorized.new
|
23
|
+
l.progname = self.name
|
29
24
|
end
|
30
25
|
end
|
31
26
|
|
@@ -34,12 +29,11 @@ module Logification
|
|
34
29
|
end
|
35
30
|
|
36
31
|
def level
|
37
|
-
|
32
|
+
translate_level_out(base_logger.level)
|
38
33
|
end
|
39
34
|
|
40
35
|
def level=(value)
|
41
|
-
base_logger.level =
|
42
|
-
@level = value
|
36
|
+
base_logger.level = translate_level_in(value)
|
43
37
|
end
|
44
38
|
|
45
39
|
def duplicate(name, options={})
|
@@ -47,6 +41,26 @@ module Logification
|
|
47
41
|
self.class.new(settings.merge(name: name))
|
48
42
|
end
|
49
43
|
|
44
|
+
def method_missing(meth, *args, &block)
|
45
|
+
begin
|
46
|
+
if block_given?
|
47
|
+
if args.empty?
|
48
|
+
base_logger.send(meth) { block }
|
49
|
+
else
|
50
|
+
base_logger.send(meth, *args, &block)
|
51
|
+
end
|
52
|
+
else
|
53
|
+
if args.empty?
|
54
|
+
base_logger.send(meth)
|
55
|
+
else
|
56
|
+
base_logger.send(meth, *args)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
rescue NoMethodError => ex
|
60
|
+
super
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
50
64
|
private
|
51
65
|
|
52
66
|
def current_settings
|
@@ -57,7 +71,17 @@ module Logification
|
|
57
71
|
}
|
58
72
|
end
|
59
73
|
|
74
|
+
LOGGER_LEVEL_TRANSLATION = {
|
75
|
+
:disabled => -1,
|
76
|
+
:debug => 0,
|
77
|
+
:info => 1,
|
78
|
+
:warn => 2,
|
79
|
+
:error => 3,
|
80
|
+
:fatal => 4
|
81
|
+
}
|
82
|
+
|
60
83
|
LOG4R_LEVEL_TRANSLATION = {
|
84
|
+
:disabled => -1,
|
61
85
|
:debug => 1,
|
62
86
|
:info => 2,
|
63
87
|
:warn => 3,
|
@@ -65,8 +89,20 @@ module Logification
|
|
65
89
|
:fatal => 5
|
66
90
|
}
|
67
91
|
|
68
|
-
def
|
69
|
-
|
92
|
+
def translate_level_in(lvl)
|
93
|
+
if self.class.to_s =~ /Log4r/
|
94
|
+
LOG4R_LEVEL_TRANSLATION[lvl.to_s.to_sym]
|
95
|
+
else
|
96
|
+
LOGGER_LEVEL_TRANSLATION[lvl.to_s.to_sym]
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
def translate_level_out(lvl)
|
101
|
+
if self.base_logger.class.to_s =~ /Log4r/
|
102
|
+
LOG4R_LEVEL_TRANSLATION.key(lvl)
|
103
|
+
else
|
104
|
+
LOGGER_LEVEL_TRANSLATION.key(lvl)
|
105
|
+
end
|
70
106
|
end
|
71
107
|
|
72
108
|
end
|
data/lib/logification/version.rb
CHANGED
data/lib/logification.rb
CHANGED
data/logification.gemspec
CHANGED
@@ -2,17 +2,17 @@ describe Logification::Helpers::Wrapper do
|
|
2
2
|
|
3
3
|
let(:klass) {
|
4
4
|
class LoggingKlass
|
5
|
-
attr_accessor :base_logger, :nested_count
|
5
|
+
attr_accessor :base_logger, :nested_count, :level
|
6
6
|
include Logification::Helpers::Wrapper
|
7
7
|
def initialize
|
8
|
-
@base_logger =
|
8
|
+
@base_logger = ::Logger.new(STDERR)
|
9
9
|
@nested_count = 0
|
10
10
|
end
|
11
11
|
end
|
12
12
|
LoggingKlass
|
13
13
|
}
|
14
14
|
|
15
|
-
subject(:instance) { klass.new }
|
15
|
+
subject(:instance) { klass.new.tap do |l| l.level = :disabled end }
|
16
16
|
|
17
17
|
it "#wrap" do
|
18
18
|
expect(instance.public_methods.include?(:wrap)).to eql(true)
|
@@ -2,7 +2,7 @@ describe Logification::Logger do
|
|
2
2
|
|
3
3
|
subject {
|
4
4
|
Logification::Logger.new(name: "test").tap do |l|
|
5
|
-
l.
|
5
|
+
l.level = :disabled
|
6
6
|
end
|
7
7
|
}
|
8
8
|
|
@@ -28,6 +28,36 @@ describe Logification::Logger do
|
|
28
28
|
|
29
29
|
end
|
30
30
|
|
31
|
+
describe "inspect level state" do
|
32
|
+
|
33
|
+
it "#debug?" do
|
34
|
+
subject.level = :debug
|
35
|
+
expect(subject.debug?).to eql(true)
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
it "#info?" do
|
40
|
+
subject.level = :info
|
41
|
+
expect(subject.info?).to eql(true)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "#warn?" do
|
45
|
+
subject.level = :warn
|
46
|
+
expect(subject.warn?).to eql(true)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "#error?" do
|
50
|
+
subject.level = :error
|
51
|
+
expect(subject.error?).to eql(true)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "#fatal?" do
|
55
|
+
subject.level = :fatal
|
56
|
+
expect(subject.fatal?).to eql(true)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
31
61
|
describe "with message paramater" do
|
32
62
|
|
33
63
|
let(:message) { "Test message" }
|
data/spec/logification_spec.rb
CHANGED
@@ -9,9 +9,10 @@ describe Logification do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it ".logger=" do
|
12
|
+
class LoggingKlass; end
|
12
13
|
saved_logger = subject.logger
|
13
|
-
subject.logger =
|
14
|
-
expect(subject.logger.class).to eql(
|
14
|
+
subject.logger = LoggingKlass.new
|
15
|
+
expect(subject.logger.class).to eql(LoggingKlass)
|
15
16
|
subject.logger = saved_logger
|
16
17
|
end
|
17
18
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logification
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nirmit Patel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.4'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: log4r
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '1.1'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '1.1'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: colorize
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,6 +123,8 @@ files:
|
|
137
123
|
- README.md
|
138
124
|
- Rakefile
|
139
125
|
- lib/logification.rb
|
126
|
+
- lib/logification/formatters.rb
|
127
|
+
- lib/logification/formatters/colorized.rb
|
140
128
|
- lib/logification/helpers.rb
|
141
129
|
- lib/logification/helpers/logging_methods.rb
|
142
130
|
- lib/logification/helpers/wrapper.rb
|