AnnLogger.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "systemMacro.h"
9 //We need the standard string format to be accessible
10 #include <string>
11 #include <sstream>
12 #include <iostream>
13 
14 
15 namespace Annwvyn
16 {
17  enum class AnnDllExport Log {
19  Status,
20  Important
21  };
22 
25  {
26  public:
27  enum class LogLevel {
28  Minimal,
29  Default,
30  Verbose
31  };
32 
33 
34  private:
35 
39  {
40  public:
42  AnnDebugBuff(Log importance) : currentImportance(importance) {}
43 
45  ~AnnDebugBuff();
46 
48  int sync() override;
49 
51  };
52 
53  public:
54 
55  static void setVerbosity(LogLevel level);
56 
61  AnnDebug(Log importance = Log::Trivial);
62 
65  AnnDebug(const std::string& message, Log importance = Log::Trivial);
66 
68  ~AnnDebug();
69  };
70 }
file for defining macros used for symbol export regarding the way the OS does things.
Namespace containing the totality of Annwvyn components.
Definition: AnnGetter.cpp:8
Trivial
Definition: AnnLogger.hpp:18
AnnDebugBuff(Log importance)
Construct an AnnDebug buffer.
Definition: AnnLogger.hpp:42
Open an output stream to the engine log.
Definition: AnnLogger.hpp:24
static LogLevel verbosity
Definition: AnnLogger.hpp:36
Nested buffer class. Write the stings to the engine log.
Definition: AnnLogger.hpp:38
#define AnnDllExport
Definition: systemMacro.h:24
Status
Definition: AnnLogger.hpp:18