#ifndef FEATHERLOG_LOGGER_HPP #define FEATHERLOG_LOGGER_HPP #include #include #include #include namespace flog { class LoggerManager; class FLOG_API Logger { friend class LogManager; public: ~Logger() = default; template void FLOG_CALL info(std::format_string fmt, Args &&... args, std::source_location loc = std::source_location::current()); private: Logger(std::string name, const std::weak_ptr &manager) noexcept : m_name(std::move(name)), m_logManager(manager) { } std::string m_name; std::weak_ptr m_logManager; }; } #endif