Changeset 8638
- Timestamp:
- 01/13/08 20:39:51 (8 months ago)
- Files:
-
- trunk/activesupport/lib/active_support/buffered_logger.rb (modified) (5 diffs)
- trunk/railties/lib/initializer.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/activesupport/lib/active_support/buffered_logger.rb
r8440 r8638 40 40 @buffer = [] 41 41 @auto_flushing = 1 42 @no_block = false 42 43 43 44 if log.respond_to?(:write) … … 53 54 end 54 55 56 def set_non_blocking_io 57 if !RUBY_PLATFORM.match(/java|mswin/) && !(@log == STDOUT) && @log.respond_to?(:write_nonblock) 58 @no_block = true 59 end 60 end 61 55 62 def add(severity, message = nil, progname = nil, &block) 56 63 return if @level > severity … … 59 66 # Ensures that the original message is not mutated. 60 67 message = "#{message}\n" unless message[-1] == ?\n 61 @buffer << message68 buffer << message 62 69 auto_flush 63 70 message … … 91 98 92 99 def flush 93 @log.write(@buffer.slice!(0..-1).join) unless @buffer.empty? 100 unless buffer.empty? 101 if @no_block 102 @log.write_nonblock(buffer.slice!(0..-1).join) 103 else 104 @log.write(buffer.slice!(0..-1).join) 105 end 106 end 94 107 end 95 108 … … 102 115 protected 103 116 def auto_flush 104 flush if @buffer.size >= @auto_flushing117 flush if buffer.size >= @auto_flushing 105 118 end 106 119 end trunk/railties/lib/initializer.rb
r8546 r8638 251 251 logger = ActiveSupport::BufferedLogger.new(configuration.log_path) 252 252 logger.level = ActiveSupport::BufferedLogger.const_get(configuration.log_level.to_s.upcase) 253 logger.auto_flushing = false if configuration.environment == "production" 253 if configuration.environment == "production" 254 logger.auto_flushing = false 255 logger.set_non_blocking_io 256 end 254 257 rescue StandardError =>e 255 258 logger = ActiveSupport::BufferedLogger.new(STDERR)