qxLib
debugger_logger_stream.h
Go to the documentation of this file.
1 /**
2 
3  @file debugger_logger_stream.h
4  @author Khrapov
5  @date 12.11.2023
6  @copyright © Nick Khrapov, 2023. All right reserved.
7 
8 **/
9 #pragma once
10 
13 
14 #if QX_WIN
15  #include "debugapi.h"
16 #endif
17 
18 namespace qx
19 {
20 
21 /**
22 
23  @class debugger_logger_stream
24  @brief Logger stream for a debugger output (VS: output window)
25  @author Khrapov
26  @date 12.11.2023
27 
28 **/
30 {
32 
33 public:
34  /**
35  @brief debugger_logger_stream object constructor
36  @param eMinFlushVerbosity - the minimum verbosity level at which flush will be called
37  **/
38  debugger_logger_stream(verbosity eMinFlushVerbosity = verbosity::error);
39 
40  debugger_logger_stream(debugger_logger_stream&&) noexcept = default;
41 
42 private:
43  // base_logger_stream
44  //
45  virtual void do_log(
46  const category& category,
47  verbosity eVerbosity,
48  std::thread::id threadId,
49  std::chrono::system_clock::time_point messageTime,
50  string_view svFile,
51  string_view svFunction,
52  int nLine,
53  string_view svMessage) override;
54  virtual void do_flush() override;
55 };
56 
57 } // namespace qx
58 
Base class for logger streams.
A category is a class that identifies a particular piece of code. This code can be located in differe...
Definition: category.h:59
Logger stream for a debugger output (VS: output window)
debugger_logger_stream(verbosity eMinFlushVerbosity=verbosity::error)
debugger_logger_stream object constructor