#pragma once

#include <string>
#include <memory>

#include "spdlog/spdlog.h"

#include "Logger.h"
#include "LogSettings.h"

namespace mitech::utils::logging
{
    class CMitechDebugLogTiming : public CLogger
    {
    public:
        CMitechDebugLogTiming(const std::string& strName, const stLogOption& mySetting);
        ~CMitechDebugLogTiming() final;

    private:
        void InitLogger(const stLogOption& mySetting);

        // Inherited via CLogger
        void DoStart() override;
        void DoFlush() override;
        void DoLogging(const std::string& strMsg) override;

        std::shared_ptr<spdlog::logger> m_logger;

        std::string m_strPathFilename{ R"(d:\machine\log\DebugLogTiming.log)" };
    };
}
