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