35 lines
		
	
	
		
			893 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			893 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								// 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
							 |