Class: Sad::Logger
- Inherits:
-
Object
show all
- Defined in:
- lib/sad/logger.rb
Instance Method Summary
collapse
Constructor Details
#initialize(opts = {}) ⇒ Logger
# Low-level information, mostly for developers
DEBUG = 0
INFO = 1
WARN = 2
ERROR = 3
FATAL = 4
UNKNOWN = 5
19
20
21
22
23
24
25
|
# File 'lib/sad/logger.rb', line 19
def initialize(opts={})
@opts = {
:path => STDOUT,
:level => 1
}.update opts.dup
@logger = init_log
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
58
59
60
|
# File 'lib/sad/logger.rb', line 58
def method_missing(method_name, *args, &block)
@logger.send(method_name, *args, &block)
end
|
Instance Method Details
#init_log ⇒ Object
32
33
34
35
36
37
|
# File 'lib/sad/logger.rb', line 32
def init_log
logger = ::Logger.new(@opts[:path])
logger.level = @opts[:level]
logger.formatter = ::Logger::Formatter.new
logger
end
|
#reopen ⇒ Object
27
28
29
30
|
# File 'lib/sad/logger.rb', line 27
def reopen
@logger = init_log
reset_loggers(@logger)
end
|
#reset_loggers(logger) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/sad/logger.rb', line 39
def reset_loggers(logger)
if defined?(ActiveRecord)
ActiveRecord::Base.logger = logger
end
if defined?(Rails)
Rails.logger = logger
end
if defined?(Mongoid)
Mongoid.logger = logger
end
if defined?(Paperclip)
Paperclip.logger = logger
end
end
|