lager 0.0.1.2 → 0.0.1.3
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/README.md +22 -0
- data/VERSION +1 -1
- data/lib/lager.rb +27 -12
- metadata +1 -1
data/README.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
1
|
Lager
|
2
2
|
=====
|
3
3
|
Lager is a logging mixin. It is designed to add class methods for logging
|
4
|
+
|
5
|
+
How it works
|
6
|
+
------------
|
7
|
+
Lager is a mixin. By design, it mixes in class methods.
|
8
|
+
|
9
|
+
require 'lager'
|
10
|
+
|
11
|
+
class Foo
|
12
|
+
extend Lager
|
13
|
+
end
|
14
|
+
|
15
|
+
Now, within Foo, you can use the class variable @@lager for logging.
|
16
|
+
|
17
|
+
class Foo
|
18
|
+
extend Lager
|
19
|
+
|
20
|
+
def self.bar(baz)
|
21
|
+
lager unless defined?(@@lager)
|
22
|
+
unless baz.is_a?(String)
|
23
|
+
@@lager.debug { "baz: #{baz} is not a string" }
|
24
|
+
end
|
25
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.1.
|
1
|
+
0.0.1.3
|
data/lib/lager.rb
CHANGED
@@ -1,7 +1,22 @@
|
|
1
1
|
require 'logger'
|
2
2
|
|
3
3
|
module Lager
|
4
|
-
def self.
|
4
|
+
def self.version
|
5
|
+
vpath = File.join(File.dirname(__FILE__), '..', 'VERSION')
|
6
|
+
File.read(vpath).chomp
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
# this module is meant to be mixed in at a class level
|
11
|
+
# e.g.
|
12
|
+
# class Foo
|
13
|
+
# extend Lager
|
14
|
+
# ...
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# Foo.lager
|
18
|
+
#
|
19
|
+
def lager dest=nil
|
5
20
|
case dest
|
6
21
|
when nil, 'stderr', 'STDERR'
|
7
22
|
dest = $stderr
|
@@ -14,27 +29,27 @@ module Lager
|
|
14
29
|
else
|
15
30
|
raise "unable to log_to #{dest} (#{dest.class})"
|
16
31
|
end
|
17
|
-
if defined?(@@
|
32
|
+
if defined?(@@lager)
|
18
33
|
l = Logger.new dest
|
19
|
-
l.formatter = @@
|
20
|
-
l.level = @@
|
21
|
-
@@
|
34
|
+
l.formatter = @@lager.formatter
|
35
|
+
l.level = @@lager.level
|
36
|
+
@@lager = l
|
22
37
|
else
|
23
|
-
@@
|
24
|
-
@@
|
38
|
+
@@lager = Logger.new dest
|
39
|
+
@@lager.formatter = proc { |sev, time, progname, msg|
|
25
40
|
line = "[#{time.strftime('%Y-%m-%d %H:%M:%S')}] #{sev.to_s.upcase}: "
|
26
41
|
line << "(#{progname}) " if progname
|
27
42
|
line << msg << "\n"
|
28
43
|
}
|
29
|
-
@@
|
44
|
+
@@lager.level = Logger::WARN
|
30
45
|
end
|
31
|
-
@@
|
46
|
+
@@lager
|
32
47
|
end
|
33
48
|
|
34
|
-
def
|
35
|
-
log_to unless defined?(@@
|
49
|
+
def log_level=(sym)
|
50
|
+
log_to unless defined?(@@lager)
|
36
51
|
level = Logger.const_get(sym.to_s.upcase)
|
37
52
|
raise "unknown log level #{sym}" unless level
|
38
|
-
@@
|
53
|
+
@@lager.level = level
|
39
54
|
end
|
40
55
|
end
|