/* * Project: MoleCuilder * Description: creates and alters molecular systems * Copyright (C) 2010 University of Bonn. All rights reserved. * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. */ /* * loggerStub.cpp * * Created on: Apr 06, 2011 * Author: heber */ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include "CodePatterns/logger.hpp" #include "CodePatterns/Singleton_impl.hpp" int logger::verbosity = 2; ostream* logger::nix = NULL; ostream* logger::defaultout = NULL; ostream* logger::out = NULL; /** * Constructor. Do not use this function. Use getInstance() instead. * * \return logger instance */ logger::logger() { nix = new stringstream; defaultout = new stringstream; out = defaultout; }; /** * Destructor. Better use purgeInstance(). */ logger::~logger() { delete nix; delete defaultout; out = NULL; } CONSTRUCT_SINGLETON(logger) /** * Sets the verbosity. * * \param verbosityLevel verbosity */ void logger::setVerbosity(int verbosityLevel) {} /** * Gets the verbosity. * * \return verbosity level */ int logger::getVerbosity() { return 0; } /** Sets a new output stream. * * \param _newout new output stream, if NULL we set to defaultout */ void logger::setOutputStream(ostream *_newout) { if(_newout != NULL) out = _newout; else out = defaultout; } /** * Operator for the Binary(arg) call. * Constructs temporary a Verbose class object, wherein the Binary is stored. * Then << is called, which calls Binary's print which adds the tabs and logs * the stream. * \param &ost stream to extend * \param &m pointer to created Binary object * \return &ost */ ostream& operator<<(class logger& l, const Verbose& v) { return *l.nix; }; ostream& operator<<(class logger* l, const Verbose& v) { return *l->nix; };