source: trunk/src/Logger.h @ 1353

Last change on this file since 1353 was 1353, checked in by mar637, 17 years ago

added explicit keyword for single arument constructors

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