#pragma once #include "Pointer.h" #include "String.h" class FileLogger { FileLogger(); public: static FileLogger& GetInstance(); FileLogger(FileLogger const&) = delete; void operator=(FileLogger const&) = delete; ~FileLogger(); void disable(); void SetWorkDirectory(const String& workDir); void SetFileName(const String& fileName); void Open(); void Close(); void LogLine(const String& line); void LogLine(const String& logType, const String& line, const String& fileName = "", const String& functionName = "", int lineNumber=-1); private: bool mDisabled{false}; String mWorkDirectory; String mFileName; };