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