Merge branch 'master' of https://github.com/gabime/spdlog
This commit is contained in:
		
							
								
								
									
										50
									
								
								include/spdlog/sinks/msvc_sink.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								include/spdlog/sinks/msvc_sink.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					// Copyright(c) 2016 Alexander Dalshov.
 | 
				
			||||||
 | 
					// Distributed under the MIT License (http://opensource.org/licenses/MIT)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_MSC_VER)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <spdlog/sinks/base_sink.h>
 | 
				
			||||||
 | 
					#include <spdlog/details/null_mutex.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <WinBase.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <mutex>
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace spdlog
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					namespace sinks
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					* MSVC sink (logging using OutputDebugStringA)
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					template<class Mutex>
 | 
				
			||||||
 | 
					class base_msvc_sink : public base_sink < Mutex >
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						explicit base_msvc_sink()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void flush() override
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					protected:
 | 
				
			||||||
 | 
					    void _sink_it(const details::log_msg& msg) override
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
							OutputDebugStringA(msg.formatted.c_str());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef base_msvc_sink<std::mutex> msvc_sink_mt;
 | 
				
			||||||
 | 
					typedef base_msvc_sink<details::null_mutex> msvc_sink_st;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
		Reference in New Issue
	
	Block a user