Patch - Doc Update - V12.8.1
This commit is contained in:
@@ -117,7 +117,7 @@ Classes</h2></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:ac744681e23720966b5f430ec2060da36" id="r_ac744681e23720966b5f430ec2060da36"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><b>LogLevel</b> { <br />
|
||||
<tr class="memitem:ac744681e23720966b5f430ec2060da36" id="r_ac744681e23720966b5f430ec2060da36"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> { <br />
|
||||
  <b>Info</b>
|
||||
, <b>Warning</b>
|
||||
, <b>Error</b>
|
||||
@@ -145,15 +145,16 @@ Public Types</h2></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a0d21ab21689125fbb5e91584e4f37baa" id="r_a0d21ab21689125fbb5e91584e4f37baa"><td class="memItemLeft" align="right" valign="top"><a id="a0d21ab21689125fbb5e91584e4f37baa" name="a0d21ab21689125fbb5e91584e4f37baa"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Logger</b> (<a class="el" href="class_logger.html">Logger</a> const &)=delete</td></tr>
|
||||
<tr class="memitem:a0d21ab21689125fbb5e91584e4f37baa" id="r_a0d21ab21689125fbb5e91584e4f37baa"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d21ab21689125fbb5e91584e4f37baa">Logger</a> (<a class="el" href="class_logger.html">Logger</a> const &)=delete</td></tr>
|
||||
<tr class="separator:a0d21ab21689125fbb5e91584e4f37baa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae14ecca1071f841760f40b5a1398580c" id="r_ae14ecca1071f841760f40b5a1398580c"><td class="memItemLeft" align="right" valign="top"><a id="ae14ecca1071f841760f40b5a1398580c" name="ae14ecca1071f841760f40b5a1398580c"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="class_logger.html">Logger</a> const &)=delete</td></tr>
|
||||
<tr class="separator:ae14ecca1071f841760f40b5a1398580c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a94f47ba0ef38ea7bcf1056f64d2645e4" id="r_a94f47ba0ef38ea7bcf1056f64d2645e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a> (const std::string &message, const std::string &fileName, int lineNumber, LogLevel level=LogLevel::Info)</td></tr>
|
||||
<tr class="memitem:abc41bfb031d896170c7675fa96a6b30c" id="r_abc41bfb031d896170c7675fa96a6b30c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#abc41bfb031d896170c7675fa96a6b30c">Logger</a> ()</td></tr>
|
||||
<tr class="separator:abc41bfb031d896170c7675fa96a6b30c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a94f47ba0ef38ea7bcf1056f64d2645e4" id="r_a94f47ba0ef38ea7bcf1056f64d2645e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a> (const std::string &message, const std::string &fileName, int lineNumber, <a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level=LogLevel::Info)</td></tr>
|
||||
<tr class="separator:a94f47ba0ef38ea7bcf1056f64d2645e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac9b431db882705fe2f33687938874676" id="r_ac9b431db882705fe2f33687938874676"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9b431db882705fe2f33687938874676">Log</a> (const std::string &message, LogLevel level)</td></tr>
|
||||
<tr class="memitem:ac9b431db882705fe2f33687938874676" id="r_ac9b431db882705fe2f33687938874676"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9b431db882705fe2f33687938874676">Log</a> (const std::string &message, <a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</td></tr>
|
||||
<tr class="separator:ac9b431db882705fe2f33687938874676"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0fc50378d880b648733da39e61fa51e3" id="r_a0fc50378d880b648733da39e61fa51e3"><td class="memItemLeft" align="right" valign="top">const std::deque< <a class="el" href="struct_logger_1_1_log_entry.html">LogEntry</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0fc50378d880b648733da39e61fa51e3">GetLogBuffer</a> () const</td></tr>
|
||||
<tr class="separator:a0fc50378d880b648733da39e61fa51e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -164,7 +165,7 @@ void </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a cla
|
||||
Static Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a08e3e1b899767a6d833136c9fb4f15c2" id="r_a08e3e1b899767a6d833136c9fb4f15c2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_logger.html">Logger</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a08e3e1b899767a6d833136c9fb4f15c2">Get</a> ()</td></tr>
|
||||
<tr class="separator:a08e3e1b899767a6d833136c9fb4f15c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a44f087518b3a028018146b07b2bc8e3b" id="r_a44f087518b3a028018146b07b2bc8e3b"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a> (LogLevel level)</td></tr>
|
||||
<tr class="memitem:a44f087518b3a028018146b07b2bc8e3b" id="r_a44f087518b3a028018146b07b2bc8e3b"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a> (<a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a> level)</td></tr>
|
||||
<tr class="separator:a44f087518b3a028018146b07b2bc8e3b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
|
||||
@@ -193,7 +194,7 @@ Static Public Attributes</h2></td></tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">enum class Logger::LogLevel</td>
|
||||
<td class="memname">enum class <a class="el" href="#ac744681e23720966b5f430ec2060da36">Logger::LogLevel</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -202,33 +203,60 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Enum class representing different log levels. Each log level has a corresponding color for display purposes. The last entry, Count, is used to determine the number of log levels. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00026">26</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><span class="lineno"> 28</span> Info,</div>
|
||||
<div class="line"><span class="lineno"> 29</span> Warning,</div>
|
||||
<div class="line"><span class="lineno"> 30</span> Error,</div>
|
||||
<div class="line"><span class="lineno"> 31</span> Shutdown,</div>
|
||||
<div class="line"><span class="lineno"> 32</span> Initialize,</div>
|
||||
<div class="line"><span class="lineno"> 33</span> Update,</div>
|
||||
<div class="line"><span class="lineno"> 34</span> Render,</div>
|
||||
<div class="line"><span class="lineno"> 35</span> Input,</div>
|
||||
<div class="line"><span class="lineno"> 36</span> Physics,</div>
|
||||
<div class="line"><span class="lineno"> 37</span> Audio,</div>
|
||||
<div class="line"><span class="lineno"> 38</span> Network,</div>
|
||||
<div class="line"><span class="lineno"> 39</span> Scripting,</div>
|
||||
<div class="line"><span class="lineno"> 40</span> AI,</div>
|
||||
<div class="line"><span class="lineno"> 41</span> Resource,</div>
|
||||
<div class="line"><span class="lineno"> 42</span> Memory,</div>
|
||||
<div class="line"><span class="lineno"> 43</span> Debug,</div>
|
||||
<div class="line"><span class="lineno"> 44</span> Count <span class="comment">// Do not use this, it's just to get the number of log levels it must at the end</span></div>
|
||||
<div class="line"><span class="lineno"> 45</span> };</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00037">37</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 38</span> {</div>
|
||||
<div class="line"><span class="lineno"> 39</span> Info,</div>
|
||||
<div class="line"><span class="lineno"> 40</span> Warning,</div>
|
||||
<div class="line"><span class="lineno"> 41</span> Error,</div>
|
||||
<div class="line"><span class="lineno"> 42</span> Shutdown,</div>
|
||||
<div class="line"><span class="lineno"> 43</span> Initialize,</div>
|
||||
<div class="line"><span class="lineno"> 44</span> Update,</div>
|
||||
<div class="line"><span class="lineno"> 45</span> Render,</div>
|
||||
<div class="line"><span class="lineno"> 46</span> Input,</div>
|
||||
<div class="line"><span class="lineno"> 47</span> Physics,</div>
|
||||
<div class="line"><span class="lineno"> 48</span> Audio,</div>
|
||||
<div class="line"><span class="lineno"> 49</span> Network,</div>
|
||||
<div class="line"><span class="lineno"> 50</span> Scripting,</div>
|
||||
<div class="line"><span class="lineno"> 51</span> AI,</div>
|
||||
<div class="line"><span class="lineno"> 52</span> Resource,</div>
|
||||
<div class="line"><span class="lineno"> 53</span> Memory,</div>
|
||||
<div class="line"><span class="lineno"> 54</span> Debug,</div>
|
||||
<div class="line"><span class="lineno"> 55</span> Count <span class="comment">// Do not use this, it's just to get the number of log levels it must at the end</span></div>
|
||||
<div class="line"><span class="lineno"> 56</span> };</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="a0d21ab21689125fbb5e91584e4f37baa" name="a0d21ab21689125fbb5e91584e4f37baa"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0d21ab21689125fbb5e91584e4f37baa">◆ </a></span>Logger() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Logger::Logger </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="class_logger.html">Logger</a> const &</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Delete the copy constructor and assignment operator to prevent copying. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="abc41bfb031d896170c7675fa96a6b30c" name="abc41bfb031d896170c7675fa96a6b30c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abc41bfb031d896170c7675fa96a6b30c">◆ </a></span>Logger()</h2>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abc41bfb031d896170c7675fa96a6b30c">◆ </a></span>Logger() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -249,41 +277,43 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Constructor for the <a class="el" href="class_logger.html">Logger</a> class. Initializes the logger, sets up the log file path, and manages log files. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00087">87</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 88</span> {</div>
|
||||
<div class="line"><span class="lineno"> 89</span> <span class="keywordtype">char</span>* appdata = <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><span class="lineno"> 90</span> <span class="keywordtype">size_t</span> len;</div>
|
||||
<div class="line"><span class="lineno"> 91</span> _dupenv_s(&appdata, &len, <span class="stringliteral">"APPDATA"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">if</span> (appdata == <span class="keyword">nullptr</span>)</div>
|
||||
<div class="line"><span class="lineno"> 93</span> {</div>
|
||||
<div class="line"><span class="lineno"> 94</span> m_appdataPath = <span class="stringliteral">"log.log"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 95</span> }</div>
|
||||
<div class="line"><span class="lineno"> 96</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><span class="lineno"> 97</span> {</div>
|
||||
<div class="line"><span class="lineno"> 98</span> m_appdataPath = appdata;</div>
|
||||
<div class="line"><span class="lineno"> 99</span> }</div>
|
||||
<div class="line"><span class="lineno"> 100</span> free(appdata);</div>
|
||||
<div class="line"><span class="lineno"> 101</span> std::string directoryPath = m_appdataPath + <span class="stringliteral">"\\Khaotic Engine"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 102</span> CreateDirectoryA(directoryPath.c_str(), NULL);</div>
|
||||
<div class="line"><span class="lineno"> 103</span> </div>
|
||||
<div class="line"><span class="lineno"> 104</span> ManageLogFiles(directoryPath);</div>
|
||||
<div class="line"><span class="lineno"> 105</span> </div>
|
||||
<div class="line"><span class="lineno"> 106</span> m_logFilePath = directoryPath + <span class="stringliteral">"\\"</span> + m_logFileName;</div>
|
||||
<div class="line"><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><span class="lineno"> 108</span> <span class="comment">// Enable only the Error warning and shutdown log levels</span></div>
|
||||
<div class="line"><span class="lineno"> 109</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < LogLevelCount; i++)</div>
|
||||
<div class="line"><span class="lineno"> 110</span> {</div>
|
||||
<div class="line"><span class="lineno"> 111</span> m_disabledLogLevels[i] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><span class="lineno"> 113</span> <span class="keywordflow">if</span> (i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Error) || i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Warning) || i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Shutdown))</div>
|
||||
<div class="line"><span class="lineno"> 114</span> {</div>
|
||||
<div class="line"><span class="lineno"> 115</span> m_disabledLogLevels[i] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><span class="lineno"> 117</span> }</div>
|
||||
<div class="line"><span class="lineno"> 118</span> }</div>
|
||||
<div class="line"><span class="lineno"> 119</span> </div>
|
||||
<div class="line"><span class="lineno"> 120</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00116">116</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 117</span> {</div>
|
||||
<div class="line"><span class="lineno"> 118</span> <span class="keywordtype">char</span>* appdata = <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><span class="lineno"> 119</span> <span class="keywordtype">size_t</span> len;</div>
|
||||
<div class="line"><span class="lineno"> 120</span> _dupenv_s(&appdata, &len, <span class="stringliteral">"APPDATA"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">if</span> (appdata == <span class="keyword">nullptr</span>)</div>
|
||||
<div class="line"><span class="lineno"> 122</span> {</div>
|
||||
<div class="line"><span class="lineno"> 123</span> m_appdataPath = <span class="stringliteral">"log.log"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 124</span> }</div>
|
||||
<div class="line"><span class="lineno"> 125</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><span class="lineno"> 126</span> {</div>
|
||||
<div class="line"><span class="lineno"> 127</span> m_appdataPath = appdata;</div>
|
||||
<div class="line"><span class="lineno"> 128</span> }</div>
|
||||
<div class="line"><span class="lineno"> 129</span> free(appdata);</div>
|
||||
<div class="line"><span class="lineno"> 130</span> std::string directoryPath = m_appdataPath + <span class="stringliteral">"\\Khaotic Engine"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 131</span> CreateDirectoryA(directoryPath.c_str(), NULL);</div>
|
||||
<div class="line"><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><span class="lineno"> 133</span> <a class="code hl_function" href="#a62b3e15fa3c170e5090a846fd0e9283e">ManageLogFiles</a>(directoryPath);</div>
|
||||
<div class="line"><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><span class="lineno"> 135</span> m_logFilePath = directoryPath + <span class="stringliteral">"\\"</span> + m_logFileName;</div>
|
||||
<div class="line"><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><span class="lineno"> 137</span> <span class="comment">// Enable only the Error warning and shutdown log levels</span></div>
|
||||
<div class="line"><span class="lineno"> 138</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < LogLevelCount; i++)</div>
|
||||
<div class="line"><span class="lineno"> 139</span> {</div>
|
||||
<div class="line"><span class="lineno"> 140</span> m_disabledLogLevels[i] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><span class="lineno"> 142</span> <span class="keywordflow">if</span> (i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Error) || i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Warning) || i == <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(LogLevel::Shutdown))</div>
|
||||
<div class="line"><span class="lineno"> 143</span> {</div>
|
||||
<div class="line"><span class="lineno"> 144</span> m_disabledLogLevels[i] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><span class="lineno"> 146</span> }</div>
|
||||
<div class="line"><span class="lineno"> 147</span> }</div>
|
||||
<div class="line"><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><span class="lineno"> 149</span> }</div>
|
||||
<div class="ttc" id="aclass_logger_html_a62b3e15fa3c170e5090a846fd0e9283e"><div class="ttname"><a href="#a62b3e15fa3c170e5090a846fd0e9283e">Logger::ManageLogFiles</a></div><div class="ttdeci">void ManageLogFiles(const std::string &directoryPath)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00230">Logger.h:230</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -310,12 +340,13 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Get the singleton instance of the <a class="el" href="class_logger.html">Logger</a> class. </p><dl class="section return"><dt>Returns</dt><dd>A reference to the <a class="el" href="class_logger.html">Logger</a> instance. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00017">17</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 18</span> {</div>
|
||||
<div class="line"><span class="lineno"> 19</span> <span class="keyword">static</span> <a class="code hl_class" href="class_logger.html">Logger</a> instance;</div>
|
||||
<div class="line"><span class="lineno"> 20</span> <span class="keywordflow">return</span> instance;</div>
|
||||
<div class="line"><span class="lineno"> 21</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00020">20</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 21</span> {</div>
|
||||
<div class="line"><span class="lineno"> 22</span> <span class="keyword">static</span> <a class="code hl_class" href="class_logger.html">Logger</a> instance;</div>
|
||||
<div class="line"><span class="lineno"> 23</span> <span class="keywordflow">return</span> instance;</div>
|
||||
<div class="line"><span class="lineno"> 24</span> }</div>
|
||||
<div class="ttc" id="aclass_logger_html"><div class="ttname"><a href="class_logger.html">Logger</a></div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00013">Logger.h:14</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -342,9 +373,10 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Get the loggBuffer deque. </p><dl class="section return"><dt>Returns</dt><dd>A constant reference to the logBuffer deque containing log entries. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00172">172</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 172</span>{ <span class="keywordflow">return</span> logBuffer; }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00220">220</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 220</span>{ <span class="keywordflow">return</span> logBuffer; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -360,7 +392,7 @@ Static Public Attributes</h2></td></tr>
|
||||
<tr>
|
||||
<td class="memname">static const <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> Logger::GetLogLevelInfo </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">LogLevel</td> <td class="paramname"><span class="paramname"><em>level</em></span></td><td>)</td>
|
||||
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -370,30 +402,37 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Get the <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> for a given log level. This function returns a <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> struct containing the name, value, and color of the log level. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">level</td><td>The log level for which to get the information. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="struct_logger_1_1_log_level_info.html">LogLevelInfo</a> struct containing the information for the specified log level. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00063">63</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 64</span> {</div>
|
||||
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">switch</span> (level)</div>
|
||||
<div class="line"><span class="lineno"> 66</span> {</div>
|
||||
<div class="line"><span class="lineno"> 67</span> <span class="keywordflow">case</span> LogLevel::Info: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Info"</span>, 0, ImVec4(0.0f, 1.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 68</span> <span class="keywordflow">case</span> LogLevel::Warning: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Warning"</span>, 1, ImVec4(1.0f, 1.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 69</span> <span class="keywordflow">case</span> LogLevel::Error: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Error"</span>, 2, ImVec4(1.0f, 0.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 70</span> <span class="keywordflow">case</span> LogLevel::Shutdown: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"shutdown"</span>, 3, ImVec4(0.5f, 0.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">case</span> LogLevel::Initialize: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"initialize"</span>, 4, ImVec4(0.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">case</span> LogLevel::Update: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Update"</span>, 5, ImVec4(1.0f, 0.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">case</span> LogLevel::Render: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"render"</span>, 6, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">case</span> LogLevel::Input: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Input"</span>, 7, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 75</span> <span class="keywordflow">case</span> LogLevel::Physics: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"physics"</span>, 8, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 76</span> <span class="keywordflow">case</span> LogLevel::Audio: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Audio"</span>, 9, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">case</span> LogLevel::Network: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Network"</span>, 10, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 78</span> <span class="keywordflow">case</span> LogLevel::Scripting: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Scripting"</span>, 11, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">case</span> LogLevel::AI: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"AI"</span>, 12, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">case</span> LogLevel::Resource: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Resource"</span>, 13, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">case</span> LogLevel::Memory: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Memory"</span>, 14, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">case</span> LogLevel::Debug: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Debug"</span>, 15, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Unknown"</span>, 16, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 84</span> }</div>
|
||||
<div class="line"><span class="lineno"> 85</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00088">88</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 89</span> {</div>
|
||||
<div class="line"><span class="lineno"> 90</span> <span class="keywordflow">switch</span> (level)</div>
|
||||
<div class="line"><span class="lineno"> 91</span> {</div>
|
||||
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">case</span> LogLevel::Info: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Info"</span>, 0, ImVec4(0.0f, 1.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">case</span> LogLevel::Warning: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Warning"</span>, 1, ImVec4(1.0f, 1.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 94</span> <span class="keywordflow">case</span> LogLevel::Error: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Error"</span>, 2, ImVec4(1.0f, 0.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">case</span> LogLevel::Shutdown: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"shutdown"</span>, 3, ImVec4(0.5f, 0.0f, 0.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 96</span> <span class="keywordflow">case</span> LogLevel::Initialize: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"initialize"</span>, 4, ImVec4(0.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">case</span> LogLevel::Update: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Update"</span>, 5, ImVec4(1.0f, 0.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">case</span> LogLevel::Render: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"render"</span>, 6, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">case</span> LogLevel::Input: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Input"</span>, 7, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">case</span> LogLevel::Physics: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"physics"</span>, 8, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">case</span> LogLevel::Audio: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Audio"</span>, 9, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">case</span> LogLevel::Network: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Network"</span>, 10, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">case</span> LogLevel::Scripting: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Scripting"</span>, 11, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">case</span> LogLevel::AI: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"AI"</span>, 12, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 105</span> <span class="keywordflow">case</span> LogLevel::Resource: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Resource"</span>, 13, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 106</span> <span class="keywordflow">case</span> LogLevel::Memory: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Memory"</span>, 14, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 107</span> <span class="keywordflow">case</span> LogLevel::Debug: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Debug"</span>, 15, ImVec4(0.5f, 0.5f, 0.5f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 108</span> <span class="keywordflow">default</span>: <span class="keywordflow">return</span> LogLevelInfo{ <span class="stringliteral">"Unknown"</span>, 16, ImVec4(1.0f, 1.0f, 1.0f, 1.0f) };</div>
|
||||
<div class="line"><span class="lineno"> 109</span> }</div>
|
||||
<div class="line"><span class="lineno"> 110</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -424,7 +463,7 @@ Static Public Attributes</h2></td></tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">LogLevel</td> <td class="paramname"><span class="paramname"><em>level</em></span><span class="paramdefsep"> = </span><span class="paramdefval">LogLevel::Info</span> )</td>
|
||||
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span><span class="paramdefsep"> = </span><span class="paramdefval">LogLevel::Info</span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -433,38 +472,49 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Write a log message to the log file and console. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td></td></tr>
|
||||
<tr><td class="paramname">fileName</td><td></td></tr>
|
||||
<tr><td class="paramname">lineNumber</td><td></td></tr>
|
||||
<tr><td class="paramname">level</td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00123">123</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 124</span> {</div>
|
||||
<div class="line"><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><span class="lineno"> 126</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
|
||||
<div class="line"><span class="lineno"> 127</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
|
||||
<div class="line"><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><span class="lineno"> 129</span> std::tm buf;</div>
|
||||
<div class="line"><span class="lineno"> 130</span> localtime_s(&buf, &in_time_t);</div>
|
||||
<div class="line"><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><span class="lineno"> 132</span> <span class="comment">// Obtenez les millisecondes <20> partir de maintenant</span></div>
|
||||
<div class="line"><span class="lineno"> 133</span> <span class="keyword">auto</span> ms = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) % 1000;</div>
|
||||
<div class="line"><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><span class="lineno"> 135</span> <span class="comment">// Utilisez LogLevelToString pour obtenir la cha<68>ne de caract<63>res du niveau de log</span></div>
|
||||
<div class="line"><span class="lineno"> 136</span> std::string levelStr = GetLogLevelInfo(level).name;</div>
|
||||
<div class="line"><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><span class="lineno"> 138</span> std::stringstream ss;</div>
|
||||
<div class="line"><span class="lineno"> 139</span> ss << <span class="stringliteral">"["</span> << std::put_time(&buf, <span class="stringliteral">"%Y-%m-%d"</span>) << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 140</span> << <span class="stringliteral">"["</span> << std::put_time(&buf, <span class="stringliteral">"%X"</span>) << <span class="stringliteral">"."</span> << std::setfill(<span class="charliteral">'0'</span>) << std::setw(3) << ms.count() << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 141</span> << <span class="stringliteral">"["</span> << levelStr << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 142</span> << <span class="stringliteral">"["</span> << fileName << <span class="stringliteral">":"</span> << lineNumber << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 143</span> << message;</div>
|
||||
<div class="line"><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><span class="lineno"> 145</span> Log(ss.str(), level);</div>
|
||||
<div class="line"><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><span class="lineno"> 147</span> std::ofstream file(m_logFilePath, std::ios::app);</div>
|
||||
<div class="line"><span class="lineno"> 148</span> <span class="keywordflow">if</span> (file.is_open())</div>
|
||||
<div class="line"><span class="lineno"> 149</span> {</div>
|
||||
<div class="line"><span class="lineno"> 150</span> file << ss.str() << std::endl;</div>
|
||||
<div class="line"><span class="lineno"> 151</span> file.close();</div>
|
||||
<div class="line"><span class="lineno"> 152</span> }</div>
|
||||
<div class="line"><span class="lineno"> 153</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00158">158</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 159</span> {</div>
|
||||
<div class="line"><span class="lineno"> 160</span> </div>
|
||||
<div class="line"><span class="lineno"> 161</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
|
||||
<div class="line"><span class="lineno"> 162</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
|
||||
<div class="line"><span class="lineno"> 163</span> </div>
|
||||
<div class="line"><span class="lineno"> 164</span> std::tm buf;</div>
|
||||
<div class="line"><span class="lineno"> 165</span> localtime_s(&buf, &in_time_t);</div>
|
||||
<div class="line"><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><span class="lineno"> 167</span> <span class="comment">// Obtenez les millisecondes <20> partir de maintenant</span></div>
|
||||
<div class="line"><span class="lineno"> 168</span> <span class="keyword">auto</span> ms = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) % 1000;</div>
|
||||
<div class="line"><span class="lineno"> 169</span> </div>
|
||||
<div class="line"><span class="lineno"> 170</span> <span class="comment">// Utilisez LogLevelToString pour obtenir la cha<68>ne de caract<63>res du niveau de log</span></div>
|
||||
<div class="line"><span class="lineno"> 171</span> std::string levelStr = <a class="code hl_function" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).name;</div>
|
||||
<div class="line"><span class="lineno"> 172</span> </div>
|
||||
<div class="line"><span class="lineno"> 173</span> std::stringstream ss;</div>
|
||||
<div class="line"><span class="lineno"> 174</span> ss << <span class="stringliteral">"["</span> << std::put_time(&buf, <span class="stringliteral">"%Y-%m-%d"</span>) << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 175</span> << <span class="stringliteral">"["</span> << std::put_time(&buf, <span class="stringliteral">"%X"</span>) << <span class="stringliteral">"."</span> << std::setfill(<span class="charliteral">'0'</span>) << std::setw(3) << ms.count() << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 176</span> << <span class="stringliteral">"["</span> << levelStr << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 177</span> << <span class="stringliteral">"["</span> << fileName << <span class="stringliteral">":"</span> << lineNumber << <span class="stringliteral">"] "</span></div>
|
||||
<div class="line"><span class="lineno"> 178</span> << message;</div>
|
||||
<div class="line"><span class="lineno"> 179</span> </div>
|
||||
<div class="line"><span class="lineno"> 180</span> <a class="code hl_function" href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Log</a>(ss.str(), level);</div>
|
||||
<div class="line"><span class="lineno"> 181</span> </div>
|
||||
<div class="line"><span class="lineno"> 182</span> std::ofstream file(m_logFilePath, std::ios::app);</div>
|
||||
<div class="line"><span class="lineno"> 183</span> <span class="keywordflow">if</span> (file.is_open())</div>
|
||||
<div class="line"><span class="lineno"> 184</span> {</div>
|
||||
<div class="line"><span class="lineno"> 185</span> file << ss.str() << std::endl;</div>
|
||||
<div class="line"><span class="lineno"> 186</span> file.close();</div>
|
||||
<div class="line"><span class="lineno"> 187</span> }</div>
|
||||
<div class="line"><span class="lineno"> 188</span> }</div>
|
||||
<div class="ttc" id="aclass_logger_html_a44f087518b3a028018146b07b2bc8e3b"><div class="ttname"><a href="#a44f087518b3a028018146b07b2bc8e3b">Logger::GetLogLevelInfo</a></div><div class="ttdeci">static const LogLevelInfo GetLogLevelInfo(LogLevel level)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00088">Logger.h:88</a></div></div>
|
||||
<div class="ttc" id="aclass_logger_html_a94f47ba0ef38ea7bcf1056f64d2645e4"><div class="ttname"><a href="#a94f47ba0ef38ea7bcf1056f64d2645e4">Logger::Log</a></div><div class="ttdeci">void Log(const std::string &message, const std::string &fileName, int lineNumber, LogLevel level=LogLevel::Info)</div><div class="ttdef"><b>Definition</b> <a href="_logger_8h_source.html#l00158">Logger.h:158</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -485,7 +535,7 @@ Static Public Attributes</h2></td></tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">LogLevel</td> <td class="paramname"><span class="paramname"><em>level</em></span> )</td>
|
||||
<td class="paramtype"><a class="el" href="#ac744681e23720966b5f430ec2060da36">LogLevel</a></td> <td class="paramname"><span class="paramname"><em>level</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -494,22 +544,29 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Write a log message to the log buffer. This is the fonction wich is used to send log messages to the gui. It's using a buffer to store the log messages with a maximum size. The buffer default size is 100 messages. This limit can be changed by changing the logBufferSize variable. But it is not recommended to change it because it can cause performance issues. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">message</td><td>The log message to write. </td></tr>
|
||||
<tr><td class="paramname">level</td><td>The log level for the message. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00156">156</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 157</span> {</div>
|
||||
<div class="line"><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><span class="lineno"> 159</span> <span class="comment">// Si le niveau de log est d<>sactiv<69>, ne faites rien</span></div>
|
||||
<div class="line"><span class="lineno"> 160</span> <span class="keywordflow">if</span> (m_disabledLogLevels[GetLogLevelInfo(level).value])</div>
|
||||
<div class="line"><span class="lineno"> 161</span> {</div>
|
||||
<div class="line"><span class="lineno"> 162</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 163</span> }</div>
|
||||
<div class="line"><span class="lineno"> 164</span> </div>
|
||||
<div class="line"><span class="lineno"> 165</span> <span class="keywordflow">if</span> (logBuffer.size() >= logBufferSize)</div>
|
||||
<div class="line"><span class="lineno"> 166</span> {</div>
|
||||
<div class="line"><span class="lineno"> 167</span> logBuffer.pop_front();</div>
|
||||
<div class="line"><span class="lineno"> 168</span> }</div>
|
||||
<div class="line"><span class="lineno"> 169</span> logBuffer.push_back({ message, level });</div>
|
||||
<div class="line"><span class="lineno"> 170</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00200">200</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 201</span> {</div>
|
||||
<div class="line"><span class="lineno"> 202</span> </div>
|
||||
<div class="line"><span class="lineno"> 203</span> <span class="comment">// Si le niveau de log est d<>sactiv<69>, ne faites rien</span></div>
|
||||
<div class="line"><span class="lineno"> 204</span> <span class="keywordflow">if</span> (m_disabledLogLevels[<a class="code hl_function" href="#a44f087518b3a028018146b07b2bc8e3b">GetLogLevelInfo</a>(level).value])</div>
|
||||
<div class="line"><span class="lineno"> 205</span> {</div>
|
||||
<div class="line"><span class="lineno"> 206</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 207</span> }</div>
|
||||
<div class="line"><span class="lineno"> 208</span> </div>
|
||||
<div class="line"><span class="lineno"> 209</span> <span class="keywordflow">if</span> (logBuffer.size() >= logBufferSize)</div>
|
||||
<div class="line"><span class="lineno"> 210</span> {</div>
|
||||
<div class="line"><span class="lineno"> 211</span> logBuffer.pop_front();</div>
|
||||
<div class="line"><span class="lineno"> 212</span> }</div>
|
||||
<div class="line"><span class="lineno"> 213</span> logBuffer.push_back({ message, level });</div>
|
||||
<div class="line"><span class="lineno"> 214</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -535,47 +592,53 @@ Static Public Attributes</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>This function manages log files in the specified directory. It checks for log files with the ".log" extension, Then it keeps only the three most recent log files, deleting the oldest ones if there are more than three. It also creates a new log file for the current execution with a timestamp in its name. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">directoryPath</td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00174">174</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 175</span> {</div>
|
||||
<div class="line"><span class="lineno"> 176</span> std::vector<std::filesystem::path> logFiles;</div>
|
||||
<div class="line"><span class="lineno"> 177</span> </div>
|
||||
<div class="line"><span class="lineno"> 178</span> <span class="comment">// Parcourez tous les fichiers dans le dossier</span></div>
|
||||
<div class="line"><span class="lineno"> 179</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& entry : std::filesystem::directory_iterator(directoryPath))</div>
|
||||
<div class="line"><span class="lineno"> 180</span> {</div>
|
||||
<div class="line"><span class="lineno"> 181</span> <span class="comment">// Si le fichier est un fichier de log, ajoutez-le <20> la liste</span></div>
|
||||
<div class="line"><span class="lineno"> 182</span> <span class="keywordflow">if</span> (entry.path().extension() == <span class="stringliteral">".log"</span>)</div>
|
||||
<div class="line"><span class="lineno"> 183</span> {</div>
|
||||
<div class="line"><span class="lineno"> 184</span> logFiles.push_back(entry.path());</div>
|
||||
<div class="line"><span class="lineno"> 185</span> }</div>
|
||||
<div class="line"><span class="lineno"> 186</span> }</div>
|
||||
<div class="line"><span class="lineno"> 187</span> </div>
|
||||
<div class="line"><span class="lineno"> 188</span> <span class="comment">// Si nous avons plus de trois fichiers de log, supprimez le plus ancien</span></div>
|
||||
<div class="line"><span class="lineno"> 189</span> <span class="keywordflow">while</span> (logFiles.size() >= 3)</div>
|
||||
<div class="line"><span class="lineno"> 190</span> {</div>
|
||||
<div class="line"><span class="lineno"> 191</span> <span class="comment">// Triez les fichiers par date de modification, le plus ancien en premier</span></div>
|
||||
<div class="line"><span class="lineno"> 192</span> std::sort(logFiles.begin(), logFiles.end(), [](<span class="keyword">const</span> std::filesystem::path& a, <span class="keyword">const</span> std::filesystem::path& b)</div>
|
||||
<div class="line"><span class="lineno"> 193</span> {</div>
|
||||
<div class="line"><span class="lineno"> 194</span> return std::filesystem::last_write_time(a) < std::filesystem::last_write_time(b);</div>
|
||||
<div class="line"><span class="lineno"> 195</span> });</div>
|
||||
<div class="line"><span class="lineno"> 196</span> </div>
|
||||
<div class="line"><span class="lineno"> 197</span> <span class="comment">// Supprimez le fichier le plus ancien</span></div>
|
||||
<div class="line"><span class="lineno"> 198</span> std::filesystem::remove(logFiles[0]);</div>
|
||||
<div class="line"><span class="lineno"> 199</span> </div>
|
||||
<div class="line"><span class="lineno"> 200</span> <span class="comment">// Supprimez-le de la liste</span></div>
|
||||
<div class="line"><span class="lineno"> 201</span> logFiles.erase(logFiles.begin());</div>
|
||||
<div class="line"><span class="lineno"> 202</span> }</div>
|
||||
<div class="line"><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><span class="lineno"> 204</span> <span class="comment">// Cr<43>ez un nouveau fichier de log pour cette ex<65>cution</span></div>
|
||||
<div class="line"><span class="lineno"> 205</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
|
||||
<div class="line"><span class="lineno"> 206</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
|
||||
<div class="line"><span class="lineno"> 207</span> std::tm buf;</div>
|
||||
<div class="line"><span class="lineno"> 208</span> localtime_s(&buf, &in_time_t);</div>
|
||||
<div class="line"><span class="lineno"> 209</span> </div>
|
||||
<div class="line"><span class="lineno"> 210</span> std::stringstream ss;</div>
|
||||
<div class="line"><span class="lineno"> 211</span> ss << <span class="stringliteral">"Khaotic_log_"</span> << std::put_time(&buf, <span class="stringliteral">"%Y_%m_%d_%Hh%Mm%Ss"</span>) << <span class="stringliteral">".log"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 212</span> m_logFileName = ss.str();</div>
|
||||
<div class="line"><span class="lineno"> 213</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00230">230</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 231</span> {</div>
|
||||
<div class="line"><span class="lineno"> 232</span> std::vector<std::filesystem::path> logFiles;</div>
|
||||
<div class="line"><span class="lineno"> 233</span> </div>
|
||||
<div class="line"><span class="lineno"> 234</span> <span class="comment">// Parcourez tous les fichiers dans le dossier</span></div>
|
||||
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& entry : std::filesystem::directory_iterator(directoryPath))</div>
|
||||
<div class="line"><span class="lineno"> 236</span> {</div>
|
||||
<div class="line"><span class="lineno"> 237</span> <span class="comment">// Si le fichier est un fichier de log, ajoutez-le <20> la liste</span></div>
|
||||
<div class="line"><span class="lineno"> 238</span> <span class="keywordflow">if</span> (entry.path().extension() == <span class="stringliteral">".log"</span>)</div>
|
||||
<div class="line"><span class="lineno"> 239</span> {</div>
|
||||
<div class="line"><span class="lineno"> 240</span> logFiles.push_back(entry.path());</div>
|
||||
<div class="line"><span class="lineno"> 241</span> }</div>
|
||||
<div class="line"><span class="lineno"> 242</span> }</div>
|
||||
<div class="line"><span class="lineno"> 243</span> </div>
|
||||
<div class="line"><span class="lineno"> 244</span> <span class="comment">// Si nous avons plus de trois fichiers de log, supprimez le plus ancien</span></div>
|
||||
<div class="line"><span class="lineno"> 245</span> <span class="keywordflow">while</span> (logFiles.size() >= 3)</div>
|
||||
<div class="line"><span class="lineno"> 246</span> {</div>
|
||||
<div class="line"><span class="lineno"> 247</span> <span class="comment">// Triez les fichiers par date de modification, le plus ancien en premier</span></div>
|
||||
<div class="line"><span class="lineno"> 248</span> std::sort(logFiles.begin(), logFiles.end(), [](<span class="keyword">const</span> std::filesystem::path& a, <span class="keyword">const</span> std::filesystem::path& b)</div>
|
||||
<div class="line"><span class="lineno"> 249</span> {</div>
|
||||
<div class="line"><span class="lineno"> 250</span> return std::filesystem::last_write_time(a) < std::filesystem::last_write_time(b);</div>
|
||||
<div class="line"><span class="lineno"> 251</span> });</div>
|
||||
<div class="line"><span class="lineno"> 252</span> </div>
|
||||
<div class="line"><span class="lineno"> 253</span> <span class="comment">// Supprimez le fichier le plus ancien</span></div>
|
||||
<div class="line"><span class="lineno"> 254</span> std::filesystem::remove(logFiles[0]);</div>
|
||||
<div class="line"><span class="lineno"> 255</span> </div>
|
||||
<div class="line"><span class="lineno"> 256</span> <span class="comment">// Supprimez-le de la liste</span></div>
|
||||
<div class="line"><span class="lineno"> 257</span> logFiles.erase(logFiles.begin());</div>
|
||||
<div class="line"><span class="lineno"> 258</span> }</div>
|
||||
<div class="line"><span class="lineno"> 259</span> </div>
|
||||
<div class="line"><span class="lineno"> 260</span> <span class="comment">// Cr<43>ez un nouveau fichier de log pour cette ex<65>cution</span></div>
|
||||
<div class="line"><span class="lineno"> 261</span> <span class="keyword">auto</span> now = std::chrono::system_clock::now();</div>
|
||||
<div class="line"><span class="lineno"> 262</span> <span class="keyword">auto</span> in_time_t = std::chrono::system_clock::to_time_t(now);</div>
|
||||
<div class="line"><span class="lineno"> 263</span> std::tm buf;</div>
|
||||
<div class="line"><span class="lineno"> 264</span> localtime_s(&buf, &in_time_t);</div>
|
||||
<div class="line"><span class="lineno"> 265</span> </div>
|
||||
<div class="line"><span class="lineno"> 266</span> std::stringstream ss;</div>
|
||||
<div class="line"><span class="lineno"> 267</span> ss << <span class="stringliteral">"Khaotic_log_"</span> << std::put_time(&buf, <span class="stringliteral">"%Y_%m_%d_%Hh%Mm%Ss"</span>) << <span class="stringliteral">".log"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 268</span> m_logFileName = ss.str();</div>
|
||||
<div class="line"><span class="lineno"> 269</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -600,7 +663,7 @@ Static Public Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00048">48</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00059">59</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -616,7 +679,7 @@ Static Public Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00215">215</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00271">271</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -632,7 +695,7 @@ Static Public Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00216">216</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="_logger_8h_source.html#l00272">272</a> of file <a class="el" href="_logger_8h_source.html">Logger.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user