lager 0.0.1.2 → 0.0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|