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:
16 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/modules/objects/ForceField.cc

    r8397 r8858  
    216216        else
    217217        {
    218             COUT(2) << "Wrong mode '" << mode << "' in ForceField. Setting to 'tube'." << std::endl;
     218            orxout(internal_warning) << "Wrong mode '" << mode << "' in ForceField. Setting to 'tube'." << endl;
    219219            this->mode_ = forceFieldMode::tube;
    220220        }
  • code/trunk/src/modules/objects/Planet.cc

    r7401 r8858  
    7373            {
    7474                float distance = this->getPosition().distance( activeCamera->getWorldPosition() );
    75                 //             COUT(2) << distance << std::endl;
     75                //             orxout(internal_warning) << distance << endl;
    7676                float planetRadius = this->getScale();
    7777
  • code/trunk/src/modules/objects/Script.cc

    r8706 r8858  
    137137            return false;
    138138
    139         COUT(4) << "Script (&" << this << ") triggered." << std::endl;
     139        orxout(verbose, context::misc::script) << "Script (&" << this << ") triggered." << endl;
    140140
    141141        PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
     
    155155        if(player == NULL)  //TODO: Will this ever happen? If not, change in NotificationDispatcher as well.
    156156        {
    157             COUT(4) << "The Script was triggered by an entity other than a Pawn. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
     157            orxout(internal_warning) << "The Script was triggered by an entity other than a Pawn. (" << trigger->getIdentifier()->getName() << ")" << endl;
    158158            return false;
    159159        }
     
    272272        else
    273273        {
    274             COUT(2) << "Invalid mode '" << mode << "' in Script object. Setting to 'normal'." << std::endl;
     274            orxout(internal_warning) << "Invalid mode '" << mode << "' in Script object. Setting to 'normal'." << endl;
    275275            this->setMode(ScriptMode::normal);
    276276            this->modeStr_ = Script::NORMAL;
     
    323323        else
    324324        {
    325             COUT(2) << "Invalid times '" << times << "' in Script. Setting to infinity." << std::endl;
     325            orxout(internal_warning) << "Invalid times '" << times << "' in Script. Setting to infinity." << endl;
    326326            this->times_ = Script::INF;
    327327            this->remainingExecutions_ = Script::INF;
  • code/trunk/src/modules/objects/SpaceBoundaries.cc

    r8767 r8858  
    215215                distance = this->computeDistance(currentPawn);
    216216                humanItem = this->isHumanPlayer(currentPawn);
    217                 COUT(5) << "Distance:" << distance << std::endl; // message for debugging
     217//                orxout() << "Distance:" << distance << endl; // message for debugging
    218218                if(distance > this->warnDistance_ && distance < this->maxDistance_) // Display warning
    219219                {
     
    231231                    if( humanItem )
    232232                    {
    233                         COUT(5) << "Health should be decreasing!" << std::endl;
     233//                        orxout() << "Health should be decreasing!" << endl;
    234234                        this->displayWarning("You are out of the area now!");
    235235                    }
  • code/trunk/src/modules/objects/collisionshapes/BoxCollisionShape.cc

    r8706 r8858  
    9393        if(!this->hasUniformScaling())
    9494        {
    95             CCOUT(1) << "Error: Non-uniform scaling is not yet supported." << endl;
     95            orxout(internal_error) << "BoxCollisionShape: Non-uniform scaling is not yet supported." << endl;
    9696            return;
    9797        }
  • code/trunk/src/modules/objects/collisionshapes/ConeCollisionShape.cc

    r8706 r8858  
    9292        if(!this->hasUniformScaling())
    9393        {
    94             CCOUT(1) << "Error: Non-uniform scaling is not yet supported." << endl;
     94            orxout(internal_error) << "ConeCollisionShape: Non-uniform scaling is not yet supported." << endl;
    9595            return;
    9696        }
  • code/trunk/src/modules/objects/collisionshapes/PlaneCollisionShape.cc

    r8706 r8858  
    9292        if(!this->hasUniformScaling())
    9393        {
    94             CCOUT(1) << "Error: Non-uniform scaling is not yet supported." << endl;
     94            orxout(internal_error) << "PlaneCollisionShape: Non-uniform scaling is not yet supported." << endl;
    9595            return;
    9696        }
  • code/trunk/src/modules/objects/collisionshapes/SphereCollisionShape.cc

    r8706 r8858  
    8989        if(!this->hasUniformScaling())
    9090        {
    91             CCOUT(1) << "Error: Non-uniform scaling is not yet supported." << endl;
     91            orxout(internal_error) << "SphereCollisionShape: Non-uniform scaling is not yet supported." << endl;
    9292            return;
    9393        }
  • code/trunk/src/modules/objects/eventsystem/EventFilter.cc

    r8729 r8858  
    6363        if (this->bActive_)
    6464        {
    65             COUT(2) << "Warning: Detected Event loop in EventFilter \"" << this->getName() << '"' << std::endl;
     65            orxout(internal_warning, context::events) << "Detected Event loop in EventFilter \"" << this->getName() << '"' << endl;
    6666            return;
    6767        }
  • code/trunk/src/modules/objects/eventsystem/EventListener.cc

    r8729 r8858  
    5959        if (this->bActive_)
    6060        {
    61             COUT(2) << "Warning: Detected Event loop in EventListener \"" << this->getName() << '"' << std::endl;
     61            orxout(internal_warning, context::events) << "Detected Event loop in EventListener \"" << this->getName() << '"' << endl;
    6262            return;
    6363        }
    6464
    65         COUT(4) << "EventListener, processing event: originator: " << event.originator_->getIdentifier()->getName() << " (&" << event.originator_ << ")" << ", activate: " << event.activate_ << ", name: " << event.name_ << std::endl;
     65        orxout(verbose, context::events) << "EventListener, processing event: originator: " << event.originator_->getIdentifier()->getName() << " (&" << event.originator_ << ")" << ", activate: " << event.activate_ << ", name: " << event.name_ << endl;
    6666
    6767        this->bActive_ = true;
  • code/trunk/src/modules/objects/eventsystem/EventTarget.cc

    r6417 r8858  
    6060        if (this->bActive_)
    6161        {
    62             COUT(2) << "Warning: Detected Event loop in EventTarget \"" << this->getName() << '"' << std::endl;
     62            orxout(internal_warning, context::events) << "Detected Event loop in EventTarget \"" << this->getName() << '"' << endl;
    6363            return;
    6464        }
  • code/trunk/src/modules/objects/triggers/DistanceMultiTrigger.cc

    r8706 r8858  
    247247            this->setBeaconModeDirect(distanceMultiTriggerBeaconMode::exclude);
    248248        else
    249             COUT(1) << "Invalid beacon mode in DistanceMultiTrigger." << endl;
     249            orxout(internal_error, context::triggers) << "Invalid beacon mode in DistanceMultiTrigger." << endl;
    250250    }
    251251
  • code/trunk/src/modules/objects/triggers/DistanceTrigger.cc

    r8706 r8858  
    108108        if (targetId == NULL)
    109109        {
    110             COUT(1) << "Error: \"" << targetStr << "\" is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ')' << std::endl;
     110            orxout(internal_error, context::triggers) << "\"" << targetStr << "\" is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ')' << endl;
    111111            return;
    112112        }
     
    209209                        this->setTriggeringPawn(pawn);
    210210                    else
    211                         CCOUT(2) << "Pawn was NULL." << endl;
     211                        orxout(internal_warning, context::triggers) << "Pawn was NULL." << endl;
    212212                }
    213213               
     
    270270            this->setBeaconModeDirect(distanceTriggerBeaconMode::exclude);
    271271        else
    272             COUT(1) << "Invalid beacon mode in DistanceTrigger." << endl;
     272            orxout(internal_error, context::triggers) << "Invalid beacon mode in DistanceTrigger." << endl;
    273273    }
    274274
  • code/trunk/src/modules/objects/triggers/MultiTrigger.cc

    r8706 r8858  
    7272    MultiTrigger::~MultiTrigger()
    7373    {
    74         COUT(4) << "Destroying MultiTrigger &" << this << ". " << this->stateQueue_.size() << " states still in queue. Deleting." << std::endl;
     74        orxout(verbose, context::triggers) << "Destroying MultiTrigger &" << this << ". " << this->stateQueue_.size() << " states still in queue. Deleting." << endl;
    7575        while(this->stateQueue_.size() > 0)
    7676        {
     
    9494        XMLPortParamLoadOnly(MultiTrigger, "target", addTarget, xmlelement, mode).defaultValues("Pawn"); //TODO: Remove load only
    9595
    96         COUT(4) << "MultiTrigger '" << this->getName() << "' (&" << this << ") created." << std::endl;
     96        orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") created." << endl;
    9797    }
    9898
     
    132132                if(state == NULL)
    133133                {
    134                     COUT(1) << "In MultiTrigger '" << this->getName() << "' (&" << this << "), Error: State of new states queue was NULL. State ignored." << std::endl;
     134                    orxout(internal_error, context::triggers) << "In MultiTrigger '" << this->getName() << "' (&" << this << "), Error: State of new states queue was NULL. State ignored." << endl;
    135135                    queue->pop();
    136136                    continue;
     
    241241                            // Print some debug output if the state has changed.
    242242                            if(state->originator != NULL)
    243                                 COUT(4) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: " << state->originator->getIdentifier()->getName() << " (&" << state->originator << "), active: " << bActive << ", triggered: " << state->bTriggered << "." << std::endl;
     243                                orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: " << state->originator->getIdentifier()->getName() << " (&" << state->originator << "), active: " << bActive << ", triggered: " << state->bTriggered << "." << endl;
    244244                            else
    245                                 COUT(4) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: NULL, active: " << bActive << ", triggered: " << state->bTriggered << "." << std::endl;
     245                                orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") changed state. originator: NULL, active: " << bActive << ", triggered: " << state->bTriggered << "." << endl;
    246246
    247247                            // If the MultiTrigger has a parent trigger, that is itself a MultiTrigger, it needs to call a method to notify him, that its activity has changed.
     
    254254                        {
    255255                            this->BaseObject::setActive(false);
    256                             COUT(4) << "MultiTrigger '" << this->getName() << "' (&" << this << ") ran out of activations. Setting it to inactive." << std::endl;
     256                            orxout(verbose, context::triggers) << "MultiTrigger '" << this->getName() << "' (&" << this << ") ran out of activations. Setting it to inactive." << endl;
    257257                        }
    258258                    }
     
    301301        if (target == NULL)
    302302        {
    303             COUT(1) << "Error: '" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << std::endl;
     303            orxout(internal_error, context::triggers) << "'" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << endl;
    304304            return;
    305305        }
     
    329329        if (target == NULL)
    330330        {
    331             COUT(1) << "Error: '" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << std::endl;
     331            orxout(internal_error, context::triggers) << "'" << targetStr << "' is not a valid class name to include in ClassTreeMask (in " << this->getName() << ", class " << this->getIdentifier()->getName() << ")" << endl;
    332332            return;
    333333        }
     
    447447        {
    448448            this->fireEvent(status);
    449             COUT(4) << "MultiTrigger '" <<  this->getName() << "' (&" << this << "): Fired event. status: " << status << "." << std::endl;
     449            orxout(verbose, context::triggers) << "MultiTrigger '" <<  this->getName() << "' (&" << this << "): Fired event. status: " << status << "." << endl;
    450450            return;
    451451        }
     
    453453        MultiTriggerContainer* container = new MultiTriggerContainer(this, this, originator);
    454454        this->fireEvent(status, container);
    455         COUT(4) << "MultiTrigger '" <<  this->getName() << "' (&" << this << "): Fired event. originator: " << originator->getIdentifier()->getName() << " (&" << originator << "), status: " << status << "." << std::endl;
     455        orxout(verbose, context::triggers) << "MultiTrigger '" <<  this->getName() << "' (&" << this << "): Fired event. originator: " << originator->getIdentifier()->getName() << " (&" << originator << "), status: " << status << "." << endl;
    456456        delete container;
    457457    }
  • code/trunk/src/modules/objects/triggers/TriggerBase.cc

    r8706 r8858  
    128128            this->setMode(TriggerMode::EventTriggerXOR);
    129129        else
    130             COUT(2) << "Invalid mode '" << modeName << "' in TriggerBase " << this->getName() << " &(" << this << "). Leaving mode at '" << this->getModeString() << "'." << std::endl;
     130            orxout(internal_warning, context::triggers) << "Invalid mode '" << modeName << "' in TriggerBase " << this->getName() << " &(" << this << "). Leaving mode at '" << this->getModeString() << "'." << endl;
    131131    }
    132132
Note: See TracChangeset for help on using the changeset viewer.