source: trunk/src/Logger.h@ 2305

Last change on this file since 2305 was 1353, checked in by mar637, 18 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
RevLine 
[1106]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//
[1102]12#ifndef ASAPLOGGER_H
13#define ASAPLOGGER_H
[717]14
15#include <string>
16#include <iostream>
17
18namespace asap {
[1102]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 */
[890]27class Logger {
[717]28public:
[1102]29 /**
30 * Default Constructor
31 **/
[890]32 Logger();
[1102]33
34 /**
35 * Constructor with switch to enable/disable logging
36 * @param[in] enabled indicating the deafult state
37 */
[1353]38 explicit Logger(bool enabled);
[1102]39
40 /*
41 * Destructor
42 */
[1030]43 virtual ~Logger();
[1102]44 /**
45 * push another message into the logger
[1104]46 * @param[in] s the message
47 * @param[in] newline whether to add a newline character at the end
[1102]48 */
[883]49 void pushLog(const std::string& s, bool newline=true) const;
[1102]50 /**
51 * pop the message form the logger
[1104]52 * @return the log message string
[1102]53 */
[717]54 std::string popLog() const;
[1102]55 /**
56 * enable logging
57 */
[717]58 virtual void enableLog();
[1102]59 /**
60 * disable logging
61 */
[717]62 virtual void disableLog();
[1102]63
[717]64private:
65 static std::string log_;
66 bool enabled_;
67};
68
[1102]69} // namespace
[717]70
71#endif
72
Note: See TracBrowser for help on using the repository browser.