/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-08-20 * Changed: 2022-05-09 * * */ #ifndef LS_STD_LOGGER_HPP #define LS_STD_LOGGER_HPP #include #include "LogLevel.hpp" #include #include #include #include namespace ls { class Logger : public ls::std::core::Class { public: explicit Logger(const ::std::shared_ptr &_writer); ~Logger() override = default; void debug(const ls::std::core::byte *_data); void error(const ls::std::core::byte *_data); void fatal(const ls::std::core::byte *_data); ls::LogLevel getLogLevel(); void info(const ls::std::core::byte *_data); void setLogLevel(const ls::LogLevelValue &_logLevelValue); void trace(const ls::std::core::byte *_data); void warn(const ls::std::core::byte *_data); private: ls::LogLevel logLevel{}; ::std::shared_ptr writer{}; void _assignWriter(const ::std::shared_ptr &_writer); void _log(const ls::std::core::byte *_data, const ls::LogLevel &_logLevel); }; } #endif