# File lib/needle/logger.rb, line 65
    def write_to( device, shift_age = 0, shift_size = 1048576 )
      saved_critical = Thread.critical
      Thread.critical = true

      if device
        if device.respond_to?( :write ) && device.respond_to?( :close )
          @logdev = device
        else
          @logdev = Logger::LogDevice.new( device,
            :shift_age => shift_age, 
            :shift_size => shift_size )
        end
      end

      device
    ensure
      Thread.critical = saved_critical
    end