#pragma once #include "dtcore/inc/dtdefinitions.h" #include "dtcore/inc/dtlogger.h" #include "dtcore/inc/dtfiledescriptor.h" namespace dt { class LogAppenderFileImpl; class LogAppenderFile : public LogAppender { public: DT_CORE_DLL_ENTRY LogAppenderFile(const String& basePath, const String& baseFilename, bool manageStorage); DT_CORE_DLL_ENTRY LogAppenderFile(const LogAppenderFile& rhs); DT_CORE_DLL_ENTRY ~LogAppenderFile() override; DT_CORE_DLL_ENTRY LogAppenderFile& operator=(const LogAppenderFile& rhs); DT_CORE_DLL_ENTRY FileDescriptors EnumerateLogFiles() const; DT_CORE_DLL_ENTRY void Write(LogStatement& msg) override; DT_CORE_DLL_ENTRY void Flush() override; private: LogAppenderFileImpl* m_Impl; }; }