My Project
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 namespace Annwvyn
15 {
16  enum class AnnDllExport Log {
18  Status,
19  Important
20  };
21 
24  {
25  public:
26  enum class LogLevel {
27  Minimal,
28  Default,
29  Verbose
30  };
31 
32  private:
36  {
37  public:
39  AnnDebugBuff(Log importance) :
40  currentImportance(importance) {}
41 
43  ~AnnDebugBuff();
44 
46  int sync() override;
47 
49  };
50 
51  public:
52  static void setVerbosity(LogLevel level);
53 
58  AnnDebug(Log importance = Log::Trivial);
59 
62  AnnDebug(const std::string& message, Log importance = Log::Trivial);
63 
65  ~AnnDebug();
66  };
67 }
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:17
AnnDebugBuff(Log importance)
Construct an AnnDebug buffer.
Definition: AnnLogger.hpp:39
Open an output stream to the engine log.
Definition: AnnLogger.hpp:23
static LogLevel verbosity
Definition: AnnLogger.hpp:33
Nested buffer class. Write the stings to the engine log.
Definition: AnnLogger.hpp:35
#define AnnDllExport
Definition: systemMacro.h:24
Status
Definition: AnnLogger.hpp:17