cantera/Cantera/src/logger.h
Harry Moffat 88a7ac3da9 doxygen update.
This commit doesn't change any code. Only the doxygen related
documentation has been updated. The warning levels from doxygen
have been increased, so that undocumented parameters now cause
a warning to be issued.
This commit eliminates these warning messages.
2007-02-01 01:14:56 +00:00

81 lines
2.6 KiB
C++

/// @file logger.h
/// Class Logger
///
#ifndef CT_LOGGER_H
#define CT_LOGGER_H
#include <iostream>
//using namespace std;
namespace Cantera {
///
/// Base class for 'loggers' that write text messages to log files.
///
/// This class is used to direct log messages to application- or
/// environment-specific output. The default is to simply print
/// the messages to the standard output stream or standard error
/// stream, but classes may be derived from Logger that implement
/// other output options. This is important when Cantera is used
/// in applications that do not display the standard output, such
/// as MATLAB. The Cantera MATLAB interface derives a class from
/// Logger that implements these methods with MATLAB-specific
/// procedures, insuring that the messages will be passed through
/// to the user. It would also be possible to derive a class that
/// displayed the messages in a pop-up window, or redirected them
/// to a file, etc.
///
/// To install a logger, call function setLogger (global.h / misc.cpp).
///
/// See the files Cantera/python/src/pylogger.h and
/// Cantera/matlab/cantera/private/mllogger.h for examples of
/// deriving logger classes.
/// @ingroup textlogs
///
class Logger {
public:
//! Constructor - empty
Logger() {}
//! Destructor - empty
virtual ~Logger() {}
//! Write a log message.
/*!
* The default behavior is to write to
* the standard output. Note that no end-of-line character is
* appended to the message, and so if one is desired it must
* be included in the string.
*
* @param msg String message to be written to cout
*/
virtual void write(const std::string& msg) {
std::cout << msg;
}
//! Write an error message and quit.
/*!
* The default behavior is
* to write to the standard eror stream, and then call
* exit(). Note that no end-of-line character is appended to
* the message, and so if one is desired it must be included
* in the string. Note that this default behavior will
* terminate the application Cantera is invoked from (MATLAB,
* Excel, etc.) If this is not desired, then derive a class
* and reimplement this method.
*
* @param msg Error message to be written to cerr.
*/
virtual void error(const std::string& msg) {
std::cerr << msg << std::endl;
std::exit(-1);
}
/// Return an integer specifying the application environment.
virtual int env() { return 0; }
};
}
#endif