43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
 | |
| // Distributed under the MIT License (http://opensource.org/licenses/MIT)
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #ifndef SPDLOG_HEADER_ONLY
 | |
|     #include <spdlog/sinks/basic_file_sink.h>
 | |
| #endif
 | |
| 
 | |
| #include <spdlog/common.h>
 | |
| #include <spdlog/details/os.h>
 | |
| 
 | |
| namespace spdlog {
 | |
| namespace sinks {
 | |
| 
 | |
| template <typename Mutex>
 | |
| SPDLOG_INLINE basic_file_sink<Mutex>::basic_file_sink(const filename_t &filename,
 | |
|                                                       bool truncate,
 | |
|                                                       const file_event_handlers &event_handlers)
 | |
|     : file_helper_{event_handlers} {
 | |
|     file_helper_.open(filename, truncate);
 | |
| }
 | |
| 
 | |
| template <typename Mutex>
 | |
| SPDLOG_INLINE const filename_t &basic_file_sink<Mutex>::filename() const {
 | |
|     return file_helper_.filename();
 | |
| }
 | |
| 
 | |
| template <typename Mutex>
 | |
| SPDLOG_INLINE void basic_file_sink<Mutex>::sink_it_(const details::log_msg &msg) {
 | |
|     memory_buf_t formatted;
 | |
|     base_sink<Mutex>::formatter_->format(msg, formatted);
 | |
|     file_helper_.write(formatted);
 | |
| }
 | |
| 
 | |
| template <typename Mutex>
 | |
| SPDLOG_INLINE void basic_file_sink<Mutex>::flush_() {
 | |
|     file_helper_.flush();
 | |
| }
 | |
| 
 | |
| }  // namespace sinks
 | |
| }  // namespace spdlog
 |