12345678910111213141516171819202122232425262728293031323334 |
- // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
- // Distributed under the MIT License (http://opensource.org/licenses/MIT)
- #pragma once
- #include <spdlog/details/log_msg.h>
- #include <spdlog/formatter.h>
- namespace spdlog {
- namespace sinks {
- class SPDLOG_API sink {
- public:
- virtual ~sink() = default;
- virtual void log(const details::log_msg &msg) = 0;
- virtual void flush() = 0;
- virtual void set_pattern(const std::string &pattern) = 0;
- virtual void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) = 0;
- void set_level(level::level_enum log_level);
- level::level_enum level() const;
- bool should_log(level::level_enum msg_level) const;
- protected:
- // sink log level - default is all
- level_t level_{level::trace};
- };
- } // namespace sinks
- } // namespace spdlog
- #ifdef SPDLOG_HEADER_ONLY
- #include "sink-inl.h"
- #endif
|