Ignore:
Timestamp:
Dec 13, 2011, 10:45:00 AM (14 years ago)
Author:
Frederik Heber <heber@…>
Children:
d85532
Parents:
40f2e6
git-author:
Frederik Heber <heber@…> (12/02/11 13:05:49)
git-committer:
Frederik Heber <heber@…> (12/13/11 10:45:00)
Message:

Modified ObserverLog: Singleton and both output to screen and internal Log.

  • ObserverLog can now either be printed concurrently or later requested as string (e.g. on exit as has been done before). This should ease debugging Observer code.
  • enable/disableLogging() (dis)activate printing to screen.
  • ObserverLog is now a true singleton.

Details:

  • Implemented helper class ObserverLog::Log which is returned as boost::shared_ptr on addMessage() and can be streamed to.
  • On dstor the logged message is appended with endl, placed into ObserverLog's internal log and printed on screen if enableLogging().
  • NOTE: streaming std::endl is not working, and not necessary.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Patterns/Observer/Relay.cpp

    r40f2e6 r2c11c1  
    3030#ifdef LOG_OBSERVER
    3131  observerLog().addName(this,name);
    32   observerLog().addMessage() << "++ Creating Relay " << observerLog().getName(this) << endl;
     32  observerLog().addMessage() << "++ Creating Relay " << observerLog().getName(this);
    3333#endif
    3434}
     
    4040{
    4141#ifdef LOG_OBSERVER
    42   observerLog().addMessage() << "-- Destroying Relay " << observerLog().getName(this) << endl;
     42  observerLog().addMessage() << "-- Destroying Relay " << observerLog().getName(this);
    4343#endif
    4444  if(callTable.count(this)) {
     
    7676                                   << " is relaying update from " << observerLog().getName(Updater)
    7777                                   << " to " << observerLog().getName((*iter).second)
    78                                    << " (priority=" << (*iter).first << ")"<< endl;
     78                                   << " (priority=" << (*iter).first << ")";
    7979#endif
    8080        (*iter).second->update(Updater);
Note: See TracChangeset for help on using the changeset viewer.