Sha256: a83adc888161ee9cc41c728d041905299642c830957cd41ec69561246ef25b72

Contents?: true

Size: 1.41 KB

Versions: 17

Compression:

Stored size: 1.41 KB

Contents

# Contains methods specific to logging (initializing the log file, applying the log level, applying the log format, etc.)
module ScoutRails
  class Agent
    module Logging
      def log_path
        "#{environment.root}/log"
      end
      
      def init_logger
        @log_file = "#{log_path}/scout_rails.log"
        begin 
          @logger = Logger.new(@log_file) 
          @logger.level = log_level
          apply_log_format
        rescue Exception => e
          @logger = Logger.new(STDOUT)
          apply_log_format
          @logger.error "Unable to access log file: #{e.message}"
        end
        @logger
      end

      def apply_log_format
        def logger.format_message(severity, timestamp, progname, msg)
          # since STDOUT isn't exclusive like the scout_rails.log file, apply a prefix.
          prefix = @logdev.dev == STDOUT ? "scout_rails " : ''
          prefix + "[#{timestamp.strftime("%m/%d/%y %H:%M:%S %z")} #{Socket.gethostname} (#{$$})] #{severity} : #{msg}\n"
        end
      end

      def log_level
        case config.settings['log_level'].downcase
          when "debug" then Logger::DEBUG
          when "info" then Logger::INFO
          when "warn" then Logger::WARN
          when "error" then Logger::ERROR
          when "fatal" then Logger::FATAL
          else Logger::INFO
        end
      end
    end # module Logging
    include Logging
  end # class Agent
end # moudle ScoutRails

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
scout_rails-1.1.5.pre6 lib/scout_rails/agent/logging.rb
scout_rails-1.1.5.pre5 lib/scout_rails/agent/logging.rb
scout_rails-1.1.5.pre4 lib/scout_rails/agent/logging.rb
scout_rails-1.1.5.pre3 lib/scout_rails/agent/logging.rb
scout_rails-1.1.5.pre lib/scout_rails/agent/logging.rb
scout_rails-1.1.4.pre lib/scout_rails/agent/logging.rb
scout_rails-1.1.3 lib/scout_rails/agent/logging.rb
scout_rails-1.1.2 lib/scout_rails/agent/logging.rb
scout_rails-1.1.1 lib/scout_rails/agent/logging.rb
scout_rails-1.1.1.pre lib/scout_rails/agent/logging.rb
scout_rails-1.1.0 lib/scout_rails/agent/logging.rb
scout_rails-1.0.9 lib/scout_rails/agent/logging.rb
scout_rails-1.0.8 lib/scout_rails/agent/logging.rb
scout_rails-1.0.8.pre.3 lib/scout_rails/agent/logging.rb
scout_rails-1.0.7 lib/scout_rails/agent/logging.rb
scout_rails-1.0.6 lib/scout_rails/agent/logging.rb
scout_rails-1.0.5 lib/scout_rails/agent/logging.rb