source: trunk/src/Logger.h @ 1104

Last change on this file since 1104 was 1104, checked in by mar637, 18 years ago

added doxygen documentation

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.1 KB
Line 
1#ifndef ASAPLOGGER_H
2#define ASAPLOGGER_H
3
4#include <string>
5#include <iostream>
6
7namespace asap {
8/**
9  * This class provides the logging within asap. All other classes which need to log
10  * should inherit from this.
11  * @brief The ASAP logging class
12  * @author Malte Marquarding
13  * @date $Date: 2006-08-02 04:58:50 +0000 (Wed, 02 Aug 2006) $
14  * @version
15  */
16class Logger {
17public:
18  /**
19   * Default Constructor
20   **/
21  Logger();
22 
23  /**
24   * Constructor with switch to enable/disable logging
25   * @param[in] enabled indicating the deafult state
26   */ 
27  Logger(bool enabled);
28
29  /*
30   * Destructor
31   */
32  virtual ~Logger();
33  /**
34   * push another message into the logger
35   * @param[in] s the message
36   * @param[in] newline whether to add a newline character at the end
37   */ 
38  void pushLog(const std::string& s, bool newline=true) const;
39  /**
40   * pop the message form the logger
41   * @return the log message string
42   */ 
43  std::string popLog() const;
44  /**
45   * enable logging
46   */
47  virtual void enableLog();
48  /**
49   * disable logging
50   */
51  virtual void disableLog();
52 
53private:
54  static std::string log_;
55  bool enabled_;
56};
57
58} // namespace
59
60#endif
61
Note: See TracBrowser for help on using the repository browser.