Ignore:
Timestamp:
Jul 14, 2014, 8:37:03 PM (11 years ago)
Author:
Frederik Heber <heber@…>
Children:
0ab195
Parents:
ca940b
git-author:
Frederik Heber <heber@…> (06/19/14 16:26:39)
git-committer:
Frederik Heber <heber@…> (07/14/14 20:37:03)
Message:

logger and errorLogger have new setOutputStream().

  • this allows to redirect the logging streams in a program internally, e.g. in a GUI setting.
  • added unit test on this function.
  • TESTFIX: LogUnitTest used loggerStub which made the tests useless.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Helpers/errorlogger.cpp

    rca940b ref9dff6  
    2828int errorLogger::verbosity = 2;
    2929ostream* errorLogger::nix = NULL;
     30ostream* errorLogger::defaultout = NULL;
     31ostream* errorLogger::out = NULL;
    3032
    3133/**
     
    3739{
    3840  nix = new ofstream("/dev/null");
     41  defaultout = &cerr;
     42  out = defaultout;
    3943};
    4044
     
    4549{
    4650  delete nix;
     51  out = NULL;   // we are not responsible if out got changed
     52  defaultout = NULL; // do not delete cerr
    4753}
    4854
     
    6773  return verbosity;
    6874}
     75
     76/** Sets a new output stream.
     77 *
     78 * \param _newout new output stream, if NULL we set to defaultout
     79 */
     80void errorLogger::setOutputStream(ostream *_newout)
     81{
     82  if(_newout != NULL)
     83    out = _newout;
     84  else
     85    out = defaultout;
     86}
     87
    6988
    7089/**
     
    95114        break;
    96115    }
    97     v.print(cerr);
    98     return cerr;
     116    v.print(*errorLogger::out);
     117    return *errorLogger::out;
    99118  } else
    100119    return *l.nix;
     
    117136        break;
    118137    }
    119     v.print(cerr);
    120     return cerr;
     138    v.print(*errorLogger::out);
     139    return *errorLogger::out;
    121140  } else
    122141    return *l->nix;
Note: See TracChangeset for help on using the changeset viewer.