Cantera 2.6.0

Public Member Functions | List of all members
Logger Class Reference
Diagnostic Output » Writing messages to the screen

Base class for 'loggers' that write text messages to log files. More...

`#include <logger.h>`

Inheritance diagram for Logger:
[legend]

## Public Member Functions
| Logger ()
| Constructor - empty. More...
virtual | ~Logger ()
| Destructor - empty. More...
virtual void | write (const std::string &msg)
| Write a log message. More...
virtual void | writeendl ()
| Write an end of line character and flush output. More...
virtual void | warn (const std::string &warning, const std::string &msg)
| Write a warning message. More...
virtual void | error (const std::string &msg)
| Write an error message and quit. More...

## Detailed Description

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.

Definition at line 40 of file logger.h.

## Constructor & Destructor Documentation

## ◆ Logger()

Logger | ( |  | ) |
| inline

Constructor - empty.

Definition at line 44 of file logger.h.

## ◆ ~Logger()

virtual ~Logger | ( |  | ) |
| inline virtual

Destructor - empty.

Definition at line 47 of file logger.h.

## Member Function Documentation

## ◆ write()

virtual void write | ( | const std::string & | msg | ) |
| inline virtual

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.

Parameters

  msg | String message to be written to cout

Definition at line 57 of file logger.h.

## ◆ writeendl()

virtual void writeendl | ( |  | ) |
| inline virtual

Write an end of line character and flush output.

Some systems treat endl and
differently. The endl statement causes a flushing of stdout to the screen.

Definition at line 66 of file logger.h.

## ◆ warn()

virtual void warn | ( | const std::string & | warning,
|  | const std::string & | msg
| ) |  |
| inline virtual

Write a warning message.

The default behavior is to write to the logging output.

Parameters

  warning | String specifying type of warning;

See also
  Logger::warn

Parameters

  msg | String message to be written to cout

Definition at line 76 of file logger.h.

## ◆ error()

virtual void error | ( | const std::string & | msg | ) |
| inline virtual

Write an error message and quit.

The default behavior is to write to the standard error 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.

Parameters

  msg | Error message to be written to cerr.

Reimplemented in NoExitLogger.

Definition at line 91 of file logger.h.

Referenced by Cantera::setLogger().

The documentation for this class was generated from the following file:

- logger.h