Class: Arrow::Logger::ApacheOutputter
- Inherits:
 - 
      Outputter
      
        
- Object
 - Outputter
 - Arrow::Logger::ApacheOutputter
 
 - Defined in:
 - lib/arrow/logger/apacheoutputter.rb
 
Overview
The Arrow::Logger::ApacheOutputter class, a derivative of Apache::Logger::Outputter. Instances of this class write log messages of the corresponding error level to the Apache log
Authors
Michael Granger
Please see the file LICENSE in the top-level directory for licensing details.
Constant Summary
- DefaultDescription =
          
The default description
 "Apache Log Outputter"- DefaultFormat =
          
The default interpolatable string that’s used to build the message to output
 %q{#{name}#{frame ? '('+frame+')' : ''}: #{msg[0,2048]}}- LEVELS =
          
The Logger log levels (copied for easy access)
 Arrow::Logger::LEVELS
Constants inherited from Outputter
DEFAULT_DESCRIPTION, DEFAULT_FORMAT
Instance Method Summary
- 
  
    
      - (ApacheOutputter) initialize(uri, description = DefaultDescription, format = DefaultFormat) 
    
    
  
  
    constructor
  
  
  
  
  
  
    
Create a new Arrow::Logger::ApacheOutputter object that will write to the apache log, and use the given description and format.
 - 
  
    
      - (Object) write(time, level, name, frame, msg) 
    
    
  
  
  
  
  
  
  
    
Write the given level, name, frame, and msg to the target output mechanism.
 
Methods inherited from Outputter
create, derivativeDirs, #inspect, #inspection_details, parse_uri
Constructor Details
- (ApacheOutputter) initialize(uri, description = DefaultDescription, format = DefaultFormat)
Create a new Arrow::Logger::ApacheOutputter object that will write to the apache log, and use the given description and format.
      37 38 39  | 
    
      # File 'lib/arrow/logger/apacheoutputter.rb', line 37 def initialize( uri, description=DefaultDescription, format=DefaultFormat ) super end  | 
  
Instance Method Details
- (Object) write(time, level, name, frame, msg)
Write the given level, name, frame, and msg to the target output mechanism.
      48 49 50 51 52 53 54 55 56 57 58 59 60 61 62  | 
    
      # File 'lib/arrow/logger/apacheoutputter.rb', line 48 def write( time, level, name, frame, msg ) return unless defined?( ::Apache ) srvr = ::Apache.request.server return unless srvr.loglevel >= LEVELS[ level ] # Translate calls to log.warning into Apache::Server#log_warn level = :warn if level == :warning logMethod = srvr.method( "log_#{level}" ) super {|msg| # Escape any unexpanded sprintf format patterns msg.gsub!( /%/, '%%' ) logMethod.call( msg ) } end  |