lumber 0.0.1 → 0.0.2
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/CHANGELOG +13 -0
- data/README.rdoc +7 -4
- data/VERSION +1 -1
- data/lib/lumber/lumber.rb +19 -3
- metadata +3 -2
data/CHANGELOG
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
0.0.2
|
2
|
+
-----
|
3
|
+
|
4
|
+
changelogs <a68ba93> [Matt Conway]
|
5
|
+
changelogs <380cbf3> [Matt Conway]
|
6
|
+
add jeweller gemcutter support <da96329> [Matt Conway]
|
7
|
+
fix spelling on hierarchy, handle missing loggers in class hierarchy <1e4e3c0> [Matt Conway]
|
8
|
+
|
9
|
+
0.0.1
|
10
|
+
-----
|
11
|
+
|
12
|
+
Initial Version
|
13
|
+
|
data/README.rdoc
CHANGED
@@ -13,14 +13,17 @@ to config/environment.rb:
|
|
13
13
|
require 'lumber'
|
14
14
|
Lumber.init()
|
15
15
|
|
16
|
+
# If you really want all classes to have a logger
|
17
|
+
# Lumber.setup_logger_hierarchy(Object, "root::object")
|
18
|
+
|
16
19
|
# Inside the block for Rails::Initializer.run
|
17
20
|
#
|
18
21
|
config.after_initialize do
|
19
|
-
# setup log4r
|
22
|
+
# setup log4r hierarchy - these need to happen after frameworks
|
20
23
|
# are loaded, but before subclasses get defined
|
21
|
-
Lumber.
|
22
|
-
Lumber.
|
23
|
-
Lumber.
|
24
|
+
Lumber.setup_logger_hierarchy(ActiveRecord::Base, "rails::models")
|
25
|
+
Lumber.setup_logger_hierarchy(ActionController::Base, "rails::controllers")
|
26
|
+
Lumber.setup_logger_hierarchy(ActionMailer::Base, "rails::mailers")
|
24
27
|
end
|
25
28
|
|
26
29
|
If you want to change the log level for a different environment, add a line like below to the config/environments/<env>.rb
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/lib/lumber/lumber.rb
CHANGED
@@ -41,11 +41,11 @@ module Lumber
|
|
41
41
|
# Makes :logger exist independently for subclasses and sets that logger
|
42
42
|
# to one that inherits from base_class for each subclass as its created.
|
43
43
|
# This allows you to have a finer level of control over logging, for example,
|
44
|
-
# put just a single class, or
|
44
|
+
# put just a single class, or hierarchy of classes, into debug log level
|
45
45
|
#
|
46
46
|
# for example:
|
47
47
|
#
|
48
|
-
# Lumber.
|
48
|
+
# Lumber.setup_logger_hierarchy(ActiveRecord::Base, "rails::models")
|
49
49
|
#
|
50
50
|
# causes all models that get created to have a log4r logger named
|
51
51
|
# "rails::models::<class_name>". This class can individually be
|
@@ -53,7 +53,7 @@ module Lumber
|
|
53
53
|
# output will include "<class_name>" on every log from this class
|
54
54
|
# so that you can tell where a log statement came from
|
55
55
|
#
|
56
|
-
def self.
|
56
|
+
def self.setup_logger_hierarchy(base_class, parent_fullname)
|
57
57
|
base_class.class_eval do
|
58
58
|
class_inheritable_accessor :logger
|
59
59
|
self.logger = Log4r::Logger.new(parent_fullname)
|
@@ -61,6 +61,22 @@ module Lumber
|
|
61
61
|
class << self
|
62
62
|
def inherited_with_lumber_log4r(subclass)
|
63
63
|
inherited_without_lumber_log4r(subclass)
|
64
|
+
# p "#{self} -> #{subclass} -> #{self.logger}"
|
65
|
+
|
66
|
+
# Look up the class hierarchy for a useable logger
|
67
|
+
# A class may have a nil logger if it was created
|
68
|
+
# before we add logger/inheritance to its superclas,
|
69
|
+
# e.g. Object/Exception - something tries to subclass
|
70
|
+
# Exception after we added lumber_inherited to Object,
|
71
|
+
# but Exception was defined before we added lumber_inherited
|
72
|
+
while self.logger.nil?
|
73
|
+
next_class = (next_class ||self).superclass
|
74
|
+
if next_class.nil?
|
75
|
+
self.logger = Log4r::Logger.root
|
76
|
+
else
|
77
|
+
self.logger = next_class.logger
|
78
|
+
end
|
79
|
+
end
|
64
80
|
subclass.logger = Log4r::Logger.new("#{logger.fullname}::#{subclass.name}")
|
65
81
|
end
|
66
82
|
alias_method_chain :inherited, :lumber_log4r
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Conway
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-15 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -42,6 +42,7 @@ extra_rdoc_files:
|
|
42
42
|
- LICENSE
|
43
43
|
- README.rdoc
|
44
44
|
files:
|
45
|
+
- CHANGELOG
|
45
46
|
- LICENSE
|
46
47
|
- README.rdoc
|
47
48
|
- TODO
|