Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Aug 23, 2011, 12:45:53 AM (13 years ago)
Author:
landauf
Message:

merged output branch back to trunk.

Changes:

  • you have to include util/Output.h instead of util/Debug.h
  • COUT(x) is now called orxout(level)
  • output levels are now defined by an enum instead of numbers. see util/Output.h for the definition
  • it's possible to use output contexts with orxout(level, context). see util/Output.h for some common contexts. you can define more contexts
  • you must use 'endl' at the end of an output message, '\n' does not flush the message

Output levels:

  • instead of COUT(0) use orxout()
  • instead of COUT(1) use orxout(user_error) or orxout(internal_error)
  • instead of COUT(2) use orxout(user_warning) or orxout(internal_warning)
  • instead of COUT(3) use orxout(user_status/user_info) or orxout(internal_status/internal_info)
  • instead of COUT(4) use orxout(verbose)
  • instead of COUT(5) use orxout(verbose_more)
  • instead of COUT(6) use orxout(verbose_ultra)

Guidelines:

  • user_* levels are for the user, visible in the console and the log-file
  • internal_* levels are for developers, visible in the log-file
  • verbose_* levels are for debugging, only visible if the context of the output is activated

Usage in C++:

  • orxout() << "message" << endl;
  • orxout(level) << "message" << endl;
  • orxout(level, context) << "message" << endl;

Usage in Lua:

  • orxout("message")
  • orxout(orxonox.level.levelname, "message")
  • orxout(orxonox.level.levelname, "context", "message")

Usage in Tcl (and in the in-game-console):

  • orxout levelname message
  • orxout_context levelname context message
  • shortcuts: log message, error message, warning message, status message, info message, debug message
Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/libraries/util/OrxAssert.h

    r8372 r8858  
    4040
    4141#include <cassert>
    42 #include "Debug.h"
     42#include "Output.h"
    4343
    4444#ifndef NDEBUG
     
    4646/** Run time assertion like assert(), but with an embedded message.
    4747@details
    48     The message will be printed as error with COUT(1). <br>
     48    The message will be printed as error with orxout(user_error). <br>
    4949    You can use the same magic here as you can with \ref ThrowException
    5050    @code
     
    5757        if (!(condition)) \
    5858        { \
    59             COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
    60             COUT(1) << "Assertion failed in " << __FUNCTIONNAME__ << std::endl; \
    61             COUT(1) << "Expression: " << #condition << std::endl; \
    62             COUT(1) << "Message   : " << errorMessage << std::endl; \
     59            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
     60            orxout(user_error) << "Assertion failed in " << __FUNCTIONNAME__ << endl; \
     61            orxout(user_error) << "Expression: " << #condition << endl; \
     62            orxout(user_error) << "Message   : " << errorMessage << endl; \
    6363            /* Don't use the condition again to avoid double evaluation */ \
    6464            /* Instead, stringify the expression and negate it */ \
     
    7070    mode (no abort() triggered then).
    7171@details
    72     The message will be printed as error with COUT(1). <br>
     72    The message will be printed as error with orxout(user_error). <br>
    7373    You can use the same magic here as you can with \ref ThrowException
    7474    @code
     
    8181        if (!(condition)) \
    8282        { \
    83             COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
    84             COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \
    85             COUT(1) << "Expression: " << #condition << std::endl; \
    86             COUT(1) << "Message   : " << errorMessage << std::endl; \
     83            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
     84            orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \
     85            orxout(user_error) << "Expression: " << #condition << endl; \
     86            orxout(user_error) << "Message   : " << errorMessage << endl; \
    8787            /* Don't use the condition again to avoid double evaluation */ \
    8888            /* Instead, stringify the expression and negate it */ \
     
    100100        if (!(condition)) \
    101101        { \
    102             COUT(1) << __FILE__ << "(" << __LINE__ << "): "; \
    103             COUT(1) << "Verification failed in " << __FUNCTIONNAME__ << std::endl; \
    104             COUT(1) << "Expression: " << #condition << std::endl; \
    105             COUT(1) << "Message   : " << errorMessage << std::endl; \
     102            orxout(user_error) << __FILE__ << "(" << __LINE__ << "): "; \
     103            orxout(user_error) << "Verification failed in " << __FUNCTIONNAME__ << endl; \
     104            orxout(user_error) << "Expression: " << #condition << endl; \
     105            orxout(user_error) << "Message   : " << errorMessage << endl; \
    106106            /* No assert() in release configuration */ \
    107107        } \
Note: See TracChangeset for help on using the changeset viewer.