Class: Logue::Logger
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#debug(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
-
#error(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
-
#fatal(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
-
#info(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
-
#initialize(format: LocationFormat.new, level: Level::WARN, filter: Filter.new, writer: Writer.new) ⇒ Logger
constructor
A new instance of Logger.
-
#log(msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk) ⇒ Object
-
#log_frame(frame, msg, obj, classname: nil, level: nil, &blk) ⇒ Object
-
#log_frames(msg, obj = nil, classname: nil, level: nil, nframes: -1,, &blk) ⇒ Object
-
#outfile=(f) ⇒ Object
Assigns output to a file with the given name.
-
#print_frame(frame, msg, obj, classname: nil, level: nil, &blk) ⇒ Object
-
#quiet ⇒ Object
-
#quiet=(b) ⇒ Object
-
#reset(format: LocationFormat.new, level: FATAL, filter: Filter.new, writer: Writer.new) ⇒ Object
-
#set_widths(file, line, method) ⇒ Object
Creates a printf format for the given widths, for aligning output.
-
#stack(msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk) ⇒ Object
-
#verbose ⇒ Object
-
#verbose=(v) ⇒ Object
-
#warn(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
-
#write(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
Methods included from ColorLog
#add_color_method, color_method_source, #method_missing, #methods, #respond_to?, #valid_colors
#colorize_line, #colorize_line=, #ignore_class, #ignore_file, #ignore_method, #log_class, #log_file, #log_method, #output, #output=, #set_color, #set_default_widths, #trim=
Constructor Details
#initialize(format: LocationFormat.new, level: Level::WARN, filter: Filter.new, writer: Writer.new) ⇒ Logger
41
42
43
|
# File 'lib/logue/logger.rb', line 41
def initialize format: LocationFormat.new, level: Level::WARN, filter: Filter.new, writer: Writer.new
reset format: format, level: level, filter: filter, writer: writer
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Logue::ColorLog
Instance Attribute Details
#filter ⇒ Object
Returns the value of attribute filter.
38
39
40
|
# File 'lib/logue/logger.rb', line 38
def filter
@filter
end
|
Returns the value of attribute format.
37
38
39
|
# File 'lib/logue/logger.rb', line 37
def format
@format
end
|
#level ⇒ Object
Returns the value of attribute level.
36
37
38
|
# File 'lib/logue/logger.rb', line 36
def level
@level
end
|
#writer ⇒ Object
Returns the value of attribute writer.
39
40
41
|
# File 'lib/logue/logger.rb', line 39
def writer
@writer
end
|
Instance Method Details
#debug(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
88
89
90
|
# File 'lib/logue/logger.rb', line 88
def debug msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::DEBUG, classname: classname, &blk
end
|
#error(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
100
101
102
|
# File 'lib/logue/logger.rb', line 100
def error msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::ERROR, classname: classname, &blk
end
|
#fatal(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
104
105
106
|
# File 'lib/logue/logger.rb', line 104
def fatal msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::FATAL, classname: classname, &blk
end
|
#info(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
92
93
94
|
# File 'lib/logue/logger.rb', line 92
def info msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::INFO, classname: classname, &blk
end
|
#log(msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk) ⇒ Object
113
114
115
|
# File 'lib/logue/logger.rb', line 113
def log msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk
log_frames msg, obj, classname: classname, level: level, nframes: 0, &blk
end
|
#log_frame(frame, msg, obj, classname: nil, level: nil, &blk) ⇒ Object
134
135
136
137
138
|
# File 'lib/logue/logger.rb', line 134
def log_frame frame, msg, obj, classname: nil, level: nil, &blk
if @filter.log? frame.path, classname, frame.method
print_frame frame, msg, obj, classname: classname, level: level, &blk
end
end
|
#log_frames(msg, obj = nil, classname: nil, level: nil, nframes: -1,, &blk) ⇒ Object
122
123
124
125
126
127
128
129
130
131
132
|
# File 'lib/logue/logger.rb', line 122
def log_frames msg, obj = nil, classname: nil, level: nil, nframes: -1, &blk
if level >= @level
stack = Stack.new
stack.filtered[0 .. nframes].each do |frame|
log_frame frame, msg, obj, classname: classname, level: level, &blk
classname = nil
msg = ""
obj = nil
end
end
end
|
#outfile=(f) ⇒ Object
Assigns output to a file with the given name. Returns the file; the client is responsible for closing it.
77
78
79
80
|
# File 'lib/logue/logger.rb', line 77
def outfile= f
io = f.kind_of?(IO) ? f : File.new(f, "w")
@writer.output = io
end
|
#print_frame(frame, msg, obj, classname: nil, level: nil, &blk) ⇒ Object
140
141
142
143
144
145
|
# File 'lib/logue/logger.rb', line 140
def print_frame frame, msg, obj, classname: nil, level: nil, &blk
loc = Location.new frame.path, frame.line, classname, frame.method
line = Line.new loc, msg, obj, &blk
lstr = line.format @format
@writer.print lstr, level
end
|
#quiet ⇒ Object
67
68
69
|
# File 'lib/logue/logger.rb', line 67
def quiet
@level >= Level::WARN
end
|
#quiet=(b) ⇒ Object
71
72
73
|
# File 'lib/logue/logger.rb', line 71
def quiet= b
@level = b ? Level::WARN : Level::DEBUG
end
|
#reset(format: LocationFormat.new, level: FATAL, filter: Filter.new, writer: Writer.new) ⇒ Object
60
61
62
63
64
65
|
# File 'lib/logue/logger.rb', line 60
def reset format: LocationFormat.new, level: FATAL, filter: Filter.new, writer: Writer.new
@level = level
@filter = filter
@format = format
@writer = writer
end
|
#set_widths(file, line, method) ⇒ Object
Creates a printf format for the given widths, for aligning output. To lead lines with zeros (e.g., “00317”) the line argument must be a string, with leading zeros, not an integer.
84
85
86
|
# File 'lib/logue/logger.rb', line 84
def set_widths file, line, method
@format = LocationFormat.new file: file, line: line, method: method
end
|
#stack(msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk) ⇒ Object
118
119
120
|
# File 'lib/logue/logger.rb', line 118
def stack msg = "", obj = nil, level: Level::DEBUG, classname: nil, &blk
log_frames msg, obj, classname: classname, level: level, nframes: -1, &blk
end
|
#verbose ⇒ Object
56
57
58
|
# File 'lib/logue/logger.rb', line 56
def verbose
@level <= Level::DEBUG
end
|
#verbose=(v) ⇒ Object
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/logue/logger.rb', line 45
def verbose= v
@level = case v
when TrueClass
Level::DEBUG
when FalseClass
Level::FATAL
when Integer
v
end
end
|
#warn(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
96
97
98
|
# File 'lib/logue/logger.rb', line 96
def warn msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::WARN, classname: classname, &blk
end
|
#write(msg = "", obj = nil, classname: nil, &blk) ⇒ Object
108
109
110
|
# File 'lib/logue/logger.rb', line 108
def write msg = "", obj = nil, classname: nil, &blk
log msg, obj, level: Level::WARN, classname: classname, &blk
end
|