Sha256: 70dd79c803bc36f9c08cd81111c67fc9104b154e91c06a217aa5e92bb7b55d90
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module Footnotes module Notes class LogNote < AbstractNote autoload :NoteLogger, 'rails-footnotes/notes/log_note/note_logger' cattr_accessor :logs cattr_accessor :original_logger def self.start!(controller) self.logs = [] self.original_logger = Rails.logger note_logger = NoteLogger.new(self.logs) note_logger.level = self.original_logger.level note_logger.formatter = self.original_logger.kind_of?(Logger) ? self.original_logger.formatter : ActiveSupport::Logger::SimpleFormatter.new # Rails 3 don't have ActiveSupport::Logger#broadcast so we backported it extend_module = defined?(ActiveSupport::Logger) ? ActiveSupport::Logger.broadcast(note_logger) : NoteLogger.broadcast(note_logger) Rails.logger = self.original_logger.dup.extend(extend_module) end def title "Log (#{log.count})" end def content result = '<table>' log.compact.each do |l| result << "<tr><td>#{l.gsub(/\e\[.+?m/, '')}</td></tr>" end result << '</table>' # Restore formatter Rails.logger = self.class.original_logger result end def log self.class.logs end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails-footnotes-4.1.2 | lib/rails-footnotes/notes/log_note.rb |