Sha256: 137b44c5568664db1503865eea006b4a6c4e6df85cb543e94cba11668e1b1e5f

Contents?: true

Size: 1.11 KB

Versions: 10

Compression:

Stored size: 1.11 KB

Contents

module Ixtlan
  module Audit
    class LoggingConfigurator

      @logger = Logging::Logger[self]
    
      def initialize(filename, options = {}, categories = [])
        @categories = categories
        @options = options
        @options[:filename] = 
          if filename.is_a? File
            filename
          else
            File.join(Rails.root, "log", filename.to_s)
          end.expand_path
        @options[:age] = 'daily'
        @options[:layout] = Logging.layouts.pattern(:pattern => '%d %m\n') unless @options[:layout]
      end
        
      def call(manager)
        @options[:keep] = manager.keep_log
        appender = Logging.appenders.rolling_file("audit", @options)
        @categories.each do |category|
          logger = Logging::Logger[category]
          logger.remove_appenders('audit')
          logger.add_appenders(audit_appender)
          @logger.debug("setup logger for #{category}")
        end
        Dir["@options[:filename].*.log"][manager.keep_log, 100000].sort.each do |f|
          FileUtils.rm_f(f)
        end
        @logger.info("initialized audit log . . .")
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ixtlan-audit-0.4.3 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.4.2 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.4.1 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.4.0 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.3.3 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.3.2 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.3.1 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.3.0 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.2.1 lib/ixtlan/audit/logging_configurator.rb~
ixtlan-audit-0.2.0 lib/ixtlan/audit/logging_configurator.rb~