Index: /code/branches/output/src/libraries/util/Clipboard.cc
===================================================================
--- /code/branches/output/src/libraries/util/Clipboard.cc	(revision 8803)
+++ /code/branches/output/src/libraries/util/Clipboard.cc	(revision 8804)
@@ -76,6 +76,6 @@
         catch (...)
         {
-            COUT(1) << "Error: Unable to copy the following text to the clipboard:" << std::endl;
-            COUT(1) << "       \"" << text << '"' << std::endl;
+            orxout(user_error) << "Unable to copy the following text to the clipboard:" << endl;
+            orxout(user_error) << '"' << text << '"' << endl;
         }
         return false;
@@ -104,5 +104,5 @@
         catch (...)
         {
-            COUT(1) << "Error: Unable to retrieve text from the clipboard." << std::endl;
+            orxout(user_error) << "Unable to retrieve text from the clipboard." << endl;
         }
         return "";
Index: /code/branches/output/src/libraries/util/Convert.h
===================================================================
--- /code/branches/output/src/libraries/util/Convert.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/Convert.h	(revision 8804)
@@ -151,6 +151,6 @@
         ORX_FORCEINLINE static bool convert(ToType* /*output*/, const FromType& /*input*/)
         {
-            COUT(2) << "Could not convert value of type " << typeid(FromType).name()
-                    << " to type " << typeid(ToType).name() << std::endl;
+            orxout(internal_warning) << "Could not convert value of type " << typeid(FromType).name()
+                                     << " to type " << typeid(ToType).name() << endl;
             return false;
         }
Index: /code/branches/output/src/libraries/util/Exception.cc
===================================================================
--- /code/branches/output/src/libraries/util/Exception.cc	(revision 8803)
+++ /code/branches/output/src/libraries/util/Exception.cc	(revision 8804)
@@ -111,6 +111,6 @@
         catch (...)
         {
-            COUT(0) << "BIG WARNING: Unknown exception type encountered."
-                    << "Rethrowing" << endl;
+            orxout(user_error) << "BIG WARNING: Unknown exception type encountered."
+                               << " Rethrowing" << endl;
             throw;
         }
Index: /code/branches/output/src/libraries/util/Exception.h
===================================================================
--- /code/branches/output/src/libraries/util/Exception.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/Exception.h	(revision 8804)
@@ -176,6 +176,6 @@
     inline const T& exceptionThrowerHelper(const T& exception)
     {
-        // let the catcher decide whether to display the message below level 4
-        COUT(4) << exception.getFullDescription() << std::endl;
+        // let the catcher decide whether to display the message also to the user
+        orxout(internal_error) << exception.getFullDescription() << endl;
         return exception;
     }
Index: /code/branches/output/src/libraries/util/ExprParser.h
===================================================================
--- /code/branches/output/src/libraries/util/ExprParser.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/ExprParser.h	(revision 8804)
@@ -55,10 +55,10 @@
             if (!expr.getRemains().empty())
             {
-                COUT(2) << "Warning: Expression could not be parsed to the end! Remains: '" << expr.getRemains() << '\'' << std::endl;
+                orxout(user_warning) << "Expression could not be parsed to the end! Remains: '" << expr.getRemains() << '\'' << endl;
             }
             float result = expr.getResult();
         }
         else
-            COUT(1) << "Error: Cannot calculate expression: Parse error." << std::endl;
+            orxout(user_error) << "Cannot calculate expression: Parse error." << endl;
         @endcode
         getRemains() returns the expression after what could be parsed. For instance
Index: /code/branches/output/src/libraries/util/MultiType.h
===================================================================
--- /code/branches/output/src/libraries/util/MultiType.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/MultiType.h	(revision 8804)
@@ -78,5 +78,5 @@
     void myfunction(int value)
     {
-        COUT(0) << "doubled value is " << (2 * value) << std::endl;
+        orxout() << "doubled value is " << (2 * value) << endl;
     }
 
Index: /code/branches/output/src/libraries/util/OrxAssert.h
===================================================================
--- /code/branches/output/src/libraries/util/OrxAssert.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/OrxAssert.h	(revision 8804)
@@ -46,5 +46,5 @@
 /** Run time assertion like assert(), but with an embedded message.
 @details
-    The message will be printed as error with COUT(1). <br>
+    The message will be printed as error with orxout(user_error). <br>
     You can use the same magic here as you can with \ref ThrowException
     @code
@@ -57,8 +57,8 @@
         if (!(condition)) \
         { \
-            COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
-            COUT(1) << "Assertion failed in " << __FUNCTIONNAME__ << std::endl; \
-            COUT(1) << "Expression: " << #condition << std::endl; \
-            COUT(1) << "Message   : " << errorMessage << std::endl; \
+            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
+            orxout(user_error) << "Assertion failed in " << __FUNCTIONNAME__ << endl; \
+            orxout(user_error) << "Expression: " << #condition << endl; \
+            orxout(user_error) << "Message   : " << errorMessage << endl; \
             /* Don't use the condition again to avoid double evaluation */ \
             /* Instead, stringify the expression and negate it */ \
@@ -70,5 +70,5 @@
     mode (no abort() triggered then).
 @details
-    The message will be printed as error with COUT(1). <br>
+    The message will be printed as error with orxout(user_error). <br>
     You can use the same magic here as you can with \ref ThrowException
     @code
@@ -81,8 +81,8 @@
         if (!(condition)) \
         { \
-            COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
-            COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \
-            COUT(1) << "Expression: " << #condition << std::endl; \
-            COUT(1) << "Message   : " << errorMessage << std::endl; \
+            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
+            orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \
+            orxout(user_error) << "Expression: " << #condition << endl; \
+            orxout(user_error) << "Message   : " << errorMessage << endl; \
             /* Don't use the condition again to avoid double evaluation */ \
             /* Instead, stringify the expression and negate it */ \
@@ -100,8 +100,8 @@
         if (!(condition)) \
         { \
-            COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
-            COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \
-            COUT(1) << "Expression: " << #condition << std::endl; \
-            COUT(1) << "Message   : " << errorMessage << std::endl; \
+            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
+            orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \
+            orxout(user_error) << "Expression: " << #condition << endl; \
+            orxout(user_error) << "Message   : " << errorMessage << endl; \
             /* No assert() in release configuration */ \
         } \
Index: /code/branches/output/src/libraries/util/Scope.h
===================================================================
--- /code/branches/output/src/libraries/util/Scope.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/Scope.h	(revision 8804)
@@ -174,5 +174,5 @@
                             { (*it)->deactivated(); }
                         catch (...)
-                            { COUT(0) << "ScopeListener::deactivated() failed! This MUST NOT happen, fix it!" << std::endl; }
+                            { orxout(internal_warning) << "ScopeListener::deactivated() failed! This MUST NOT happen, fix it!" << endl; }
                         (*(it++))->bActivated_ = false;
                     }
Index: /code/branches/output/src/libraries/util/ScopedSingletonManager.h
===================================================================
--- /code/branches/output/src/libraries/util/ScopedSingletonManager.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/ScopedSingletonManager.h	(revision 8804)
@@ -231,7 +231,7 @@
                 { singletonPtr_ = new T(); }
             catch (const InitialisationAbortedException& ex)
-                { COUT(3) << ex.getDescription() << std::endl; }
+                { orxout(internal_error) << ex.getDescription() << endl; }
             catch (...)
-                { COUT(1) << "Singleton creation failed: " << Exception::handleMessage() << std::endl; }
+                { orxout(internal_error) << "Singleton creation failed: " << Exception::handleMessage() << endl; }
         }
 
Index: /code/branches/output/src/libraries/util/SignalHandler.cc
===================================================================
--- /code/branches/output/src/libraries/util/SignalHandler.cc	(revision 8803)
+++ /code/branches/output/src/libraries/util/SignalHandler.cc	(revision 8804)
@@ -127,5 +127,5 @@
       if( SignalHandler::singletonPtr_s == 0 )
       {
-        COUT(0) << "Received signal " << sigName.c_str() << std::endl << "Can't write backtrace because SignalHandler is already destroyed" << std::endl;
+        orxout(user_error) << "Received signal " << sigName.c_str() << endl << "Can't write backtrace because SignalHandler is already destroyed" << endl;
         exit(EXIT_FAILURE);
       }
@@ -137,5 +137,5 @@
 
 
-      COUT(0) << "Received signal " << sigName.c_str() << std::endl << "Try to write backtrace to file orxonox_crash.log" << std::endl;
+      orxout(user_error) << "Received signal " << sigName.c_str() << endl << "Try to write backtrace to file orxonox_crash.log" << endl;
 
       
@@ -206,5 +206,5 @@
 #ifdef PR_SET_PTRACER
         if( prctl(PR_SET_PTRACER, gdbPid, 0, 0, 0) == -1 )
-          COUT(0) << "could not set proper permissions for GDB to attach to process..." << endl;
+          orxout(user_error) << "could not set proper permissions for GDB to attach to process..." << endl;
 #endif
         
@@ -213,9 +213,9 @@
 
         if( read( sigPipe[0], &someData, sizeof(someData) ) != sizeof(someData) )
-          COUT(0) << "something went wrong :(" << std::endl;
+          orxout(user_error) << "something went wrong :(" << endl;
 
         if ( someData != 0x12345678 )
         {
-          COUT(0) << "something went wrong :(" << std::endl;
+          orxout(user_error) << "something went wrong :(" << endl;
         }
 
@@ -328,5 +328,5 @@
       if ( fwrite( bt.c_str(), 1, bt.length(), f ) != bt.length() )
       {
-        COUT(0) << "could not write " << bt.length() << " byte to " << getInstance().filename << std::endl;
+        orxout(user_error) << "could not write " << bt.length() << " byte to " << getInstance().filename << endl;
         exit(EXIT_FAILURE);
       }
@@ -364,6 +364,7 @@
 _UtilExport void __cdecl abort()
 {
-    COUT(1) << "This application has requested the Runtime to terminate it in an unusual way." << std::endl;
-    COUT(1) << "Please contact the application's support team for more information." << std::endl;
+    using namespace orxonox;
+    orxout(user_error) << "This application has requested the Runtime to terminate it in an unusual way." << endl;
+    orxout(user_error) << "Please contact the application's support team for more information." << endl;
     DebugBreak();
     exit(0x3);
@@ -373,6 +374,7 @@
 _UtilExport void __cdecl _assert(const char* expression, const char* file, int line)
 {
-    COUT(1) << "Assertion failed: " << expression << ", file " << file << ", line " << line << std::endl;
-    COUT(1) << std::endl;
+    using namespace orxonox;
+    orxout(user_error) << "Assertion failed: " << expression << ", file " << file << ", line " << line << endl;
+    orxout(user_error) << endl;
     abort();
 }
@@ -423,14 +425,14 @@
             bExecuting = true;
 
-            COUT(1) << std::endl;
+            orxout(user_error) << endl;
 
             // if the signalhandler has already been destroyed then don't do anything
             if (SignalHandler::singletonPtr_s == 0)
             {
-                COUT(1) << "Caught an unhandled exception" << std::endl << "Can't write backtrace because SignalHandler is already destroyed" << std::endl;
+                orxout(user_error) << "Caught an unhandled exception" << endl << "Can't write backtrace because SignalHandler is already destroyed" << endl;
                 exit(EXIT_FAILURE);
             }
 
-            COUT(1) << "Caught an unhandled exception" << std::endl << "Try to write backtrace to orxonox_crash.log..." << std::endl;
+            orxout(user_error) << "Caught an unhandled exception" << endl << "Try to write backtrace to orxonox_crash.log..." << endl;
 
             // write the crash log
@@ -439,27 +441,27 @@
             time_t now = time(NULL);
 
-            crashlog << "=======================================================" << std::endl;
+            crashlog << "=======================================================" << endl;
             crashlog << "= Time: " << std::string(ctime(&now));
-            crashlog << "=======================================================" << std::endl;
-            crashlog << std::endl;
+            crashlog << "=======================================================" << endl;
+            crashlog << endl;
 
             const std::string& error = SignalHandler::getExceptionType(pExceptionInfo);
 
-            crashlog << error << std::endl;
-            crashlog << std::endl;
+            crashlog << error << endl;
+            crashlog << endl;
 
             const std::string& callstack = SignalHandler::getStackTrace(pExceptionInfo);
 
-            crashlog << "Call stack:" << std::endl;
-            crashlog << callstack << std::endl;
+            crashlog << "Call stack:" << endl;
+            crashlog << callstack << endl;
 
             crashlog.close();
 
             // print the same information also to the console
-            COUT(1) << std::endl;
-            COUT(1) << error << std::endl;
-            COUT(1) << std::endl;
-            COUT(1) << "Call stack:" << std::endl;
-            COUT(1) << callstack << std::endl;
+            orxout(user_error) << endl;
+            orxout(user_error) << error << endl;
+            orxout(user_error) << endl;
+            orxout(user_error) << "Call stack:" << endl;
+            orxout(user_error) << callstack << endl;
 
             bExecuting = false;
@@ -467,5 +469,5 @@
         else
         {
-            COUT(1) << "An error occurred while writing the backtrace" << std::endl;
+            orxout(user_error) << "An error occurred while writing the backtrace" << endl;
         }
 
Index: /code/branches/output/src/libraries/util/Singleton.h
===================================================================
--- /code/branches/output/src/libraries/util/Singleton.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/Singleton.h	(revision 8804)
@@ -100,5 +100,5 @@
     void TestSingleton::testFunction()                      // implement testFunction
     {
-        COUT(0) << "My value is " << this->testValue_ << std::endl;
+        orxout() << "My value is " << this->testValue_ << endl;
     }
 
Index: /code/branches/output/src/libraries/util/Sleep.cc
===================================================================
--- /code/branches/output/src/libraries/util/Sleep.cc	(revision 8803)
+++ /code/branches/output/src/libraries/util/Sleep.cc	(revision 8804)
@@ -49,5 +49,5 @@
     {
         //if (microseconds < 1000)
-        //    COUT(2) << "Warning: Windows cannot sleep less than 1ms, ignoring" << std::endl;
+        //    orxout(internal_warning) << "Warning: Windows cannot sleep less than 1ms, ignoring" << endl;
         Sleep(microseconds / 1000);
     }
Index: /code/branches/output/src/libraries/util/SubString.cc
===================================================================
--- /code/branches/output/src/libraries/util/SubString.cc	(revision 8803)
+++ /code/branches/output/src/libraries/util/SubString.cc	(revision 8804)
@@ -513,8 +513,8 @@
     void SubString::debug() const
     {
-        COUT(0) << "Substring-information::count=" << this->tokens_.size() << " ::";
+        orxout() << "Substring-information::count=" << this->tokens_.size() << " ::";
         for (unsigned int i = 0; i < this->tokens_.size(); ++i)
-            COUT(0) << "s" << i << "='" << this->tokens_[i].c_str() << "'::";
-        COUT(0) << std::endl;
+            orxout() << "s" << i << "='" << this->tokens_[i].c_str() << "'::";
+        orxout() << endl;
     }
 }
Index: /code/branches/output/src/libraries/util/SubString.h
===================================================================
--- /code/branches/output/src/libraries/util/SubString.h	(revision 8803)
+++ /code/branches/output/src/libraries/util/SubString.h	(revision 8804)
@@ -59,5 +59,5 @@
 
     for (unsigned int i = 0; i < tokens.size(); ++i)
-        COUT(0) << i << ": " << tokens[i] << std::endl;
+        orxout() << i << ": " << tokens[i] << endl;
     @endcode
 
