44 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT) 45 #error "Only <final/final.h> can be included directly." 55 #include "final/util/flog.h" 74 auto getClassName()
const ->
FString override;
75 void info (
const std::string&)
override;
76 void warn (
const std::string&)
override;
77 void error (
const std::string&)
override;
78 void debug (
const std::string&)
override;
79 void flush()
override;
80 void setOutputStream (
const std::ostream&)
override;
81 void setLineEnding (LineEnding)
override;
82 void enableTimestamp()
override;
83 void disableTimestamp()
override;
87 void newlineReplace (std::string&,
const std::string&)
const;
88 auto getTimeString()
const -> std::string;
89 auto getEOL()
const -> std::string;
90 void printLogLine (
const std::string&);
91 auto getLogLevelString()
const -> std::string;
92 auto getPrefixString (
const std::string&) -> std::string;
95 bool timestamp{
false};
96 std::mutex print_mutex{};
97 std::mutex output_mutex{};
98 std::ostream output{std::cerr.rdbuf()};
103 inline auto FLogger::getClassName()
const ->
FString 104 {
return "FLogger"; }
107 inline void FLogger::info (
const std::string& msg)
110 std::lock_guard<std::mutex> lock_guard(print_mutex);
111 setLevel() = LogLevel::Info;
118 inline void FLogger::warn (
const std::string& msg)
121 std::lock_guard<std::mutex> lock_guard(print_mutex);
122 setLevel() = LogLevel::Warn;
129 inline void FLogger::error (
const std::string& msg)
132 std::lock_guard<std::mutex> lock_guard(print_mutex);
133 setLevel() = LogLevel::Error;
140 inline void FLogger::debug (
const std::string& msg)
143 std::lock_guard<std::mutex> lock_guard(print_mutex);
144 setLevel() = LogLevel::Debug;
151 inline void FLogger::flush()
153 std::lock_guard<std::mutex> lock_guard(output_mutex);
158 inline void FLogger::setOutputStream (
const std::ostream& os)
160 std::lock_guard<std::mutex> lock_guard(output_mutex);
161 output.rdbuf(os.rdbuf());
165 inline void FLogger::setLineEnding (LineEnding eol)
167 std::lock_guard<std::mutex> lock_guard(print_mutex);
172 inline void FLogger::enableTimestamp()
174 std::lock_guard<std::mutex> lock_guard(print_mutex);
179 inline void FLogger::disableTimestamp()
181 std::lock_guard<std::mutex> lock_guard(print_mutex);
Definition: class_template.cpp:25