lib/strftime_logger.rb in strftime_logger-0.0.1 vs lib/strftime_logger.rb in strftime_logger-0.0.2
- old
+ new
@@ -80,10 +80,25 @@
SEV_LABEL.each do |level|
@bridge[level] = StrftimeLogger::Bridge.new(level, @path[level], @adapter[level])
end
end
+ def level=(level)
+ raise ArgumentError, 'An argument for #level= must be an Integer such as 0, 2. You may use Pfsys::Logger::DEBUG, Pfsys::Logger::WARN' unless level.is_a?(Integer)
+ @level = level
+ end
+
+ def self.str_to_level(str)
+ level = SEV_LABEL.index(str.to_s.downcase.to_sym)
+ raise ArgumentError, 'An argument for #log_level= must be a String or Symbol such as DEBUG, :warn' unless level
+ level
+ end
+
+ def log_level=(log_level)
+ @level = self.class.str_to_level(log_level)
+ end
+
# @param severity [Int] log severity
def add(severity, message = nil, &block)
severity ||= UNKNOWN
if @bridge.nil? or severity < @level
@@ -124,10 +139,10 @@
add(UNKNOWN, msg, &block)
end
def write(msg)
msg.chomp! if msg.respond_to?(:chomp!)
- add(INFO, msg)
+ @bridge[:info].write(format_message(nil, msg))
end
# Returns +true+ iff the current severity level allows for the printing of
# +DEBUG+ messages.
def debug?; @level <= DEBUG; end