added bench and example files
This commit is contained in:
		
							parent
							
								
									f9425bb666
								
							
						
					
					
						commit
						a7f046901d
					
				| @ -86,7 +86,6 @@ | |||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClInclude Include="..\..\include\c11log\common.h" /> |     <ClInclude Include="..\..\include\c11log\common.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\blocking_queue.h" /> |     <ClInclude Include="..\..\include\c11log\details\blocking_queue.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\factory.h" /> |  | ||||||
|     <ClInclude Include="..\..\include\c11log\details\fast_oss.h" /> |     <ClInclude Include="..\..\include\c11log\details\fast_oss.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\flush_helper.h" /> |     <ClInclude Include="..\..\include\c11log\details\flush_helper.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\line_logger.h" /> |     <ClInclude Include="..\..\include\c11log\details\line_logger.h" /> | ||||||
| @ -94,6 +93,7 @@ | |||||||
|     <ClInclude Include="..\..\include\c11log\details\null_mutex.h" /> |     <ClInclude Include="..\..\include\c11log\details\null_mutex.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\os.h" /> |     <ClInclude Include="..\..\include\c11log\details\os.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\stack_buf.h" /> |     <ClInclude Include="..\..\include\c11log\details\stack_buf.h" /> | ||||||
|  |     <ClInclude Include="..\..\include\c11log\factory.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\formatter.h" /> |     <ClInclude Include="..\..\include\c11log\formatter.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\logger.h" /> |     <ClInclude Include="..\..\include\c11log\logger.h" /> | ||||||
|     <ClInclude Include="..\..\include\c11log\sinks\async_sink.h" /> |     <ClInclude Include="..\..\include\c11log\sinks\async_sink.h" /> | ||||||
| @ -107,6 +107,7 @@ | |||||||
|     <ClInclude Include="targetver.h" /> |     <ClInclude Include="targetver.h" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|  |     <ClCompile Include="..\..\example\bench.cpp" /> | ||||||
|     <ClCompile Include="..\..\example\example.cpp" /> |     <ClCompile Include="..\..\example\example.cpp" /> | ||||||
|     <ClCompile Include="stdafx.cpp" /> |     <ClCompile Include="stdafx.cpp" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  | |||||||
| @ -69,12 +69,6 @@ | |||||||
|     <ClInclude Include="..\..\include\c11log\sinks\file_sinks.h"> |     <ClInclude Include="..\..\include\c11log\sinks\file_sinks.h"> | ||||||
|       <Filter>Header Files\c11log\sinks</Filter> |       <Filter>Header Files\c11log\sinks</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|     <ClInclude Include="..\..\include\c11log\details\factory.h"> |  | ||||||
|       <Filter>Header Files\c11log\details</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="..\..\include\c11log\sinks\isink.h"> |  | ||||||
|       <Filter>Header Files</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="..\..\include\c11log\details\null_mutex.h"> |     <ClInclude Include="..\..\include\c11log\details\null_mutex.h"> | ||||||
|       <Filter>Header Files\c11log\details</Filter> |       <Filter>Header Files\c11log\details</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
| @ -90,6 +84,12 @@ | |||||||
|     <ClInclude Include="..\..\include\c11log\common.h"> |     <ClInclude Include="..\..\include\c11log\common.h"> | ||||||
|       <Filter>Header Files\c11log</Filter> |       <Filter>Header Files\c11log</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\include\c11log\sinks\isink.h"> | ||||||
|  |       <Filter>Header Files\c11log\sinks</Filter> | ||||||
|  |     </ClInclude> | ||||||
|  |     <ClInclude Include="..\..\include\c11log\factory.h"> | ||||||
|  |       <Filter>Header Files\c11log</Filter> | ||||||
|  |     </ClInclude> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="stdafx.cpp"> |     <ClCompile Include="stdafx.cpp"> | ||||||
| @ -98,5 +98,8 @@ | |||||||
|     <ClCompile Include="..\..\example\example.cpp"> |     <ClCompile Include="..\..\example\example.cpp"> | ||||||
|       <Filter>Source Files</Filter> |       <Filter>Source Files</Filter> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|  |     <ClCompile Include="..\..\example\bench.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
| </Project> | </Project> | ||||||
| @ -15,26 +15,26 @@ using namespace c11log; | |||||||
| using namespace utils; | using namespace utils; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| int main(int argc, char* argv[]) | int main2(int argc, char* argv[]) | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
|     const unsigned int howmany = argc <= 1 ? 10000 : atoi(argv[1]); |     const unsigned int howmany = argc <= 1 ? 1000000 : atoi(argv[1]); | ||||||
| 
 | 
 | ||||||
|     logger cout_logger("example", std::make_shared<sinks::stderr_sink_mt>()); |     logger cout_logger("example", std::make_shared<sinks::stderr_sink_mt>()); | ||||||
|     cout_logger.info() << "Hello logger"; |     cout_logger.info() << "Hello logger"; | ||||||
| 
 | 
 | ||||||
|     //auto nullsink = std::make_shared<sinks::null_sink<std::mutex>>();
 |  | ||||||
|     auto nullsink = std::make_shared<sinks::null_sink<details::null_mutex>>(); |     auto nullsink = std::make_shared<sinks::null_sink<details::null_mutex>>(); | ||||||
|     auto fsink = std::make_shared<sinks::rotating_file_sink_st>("log", "txt", 1024 * 1024 * 50, 5, 10); |  | ||||||
|     auto as = std::make_shared<sinks::async_sink>(1000); |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     logger my_logger("my_logger", fsink); | 
 | ||||||
|  | 
 | ||||||
|  |     logger my_logger("my_logger", nullsink); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     auto start = system_clock::now(); |     auto start = system_clock::now(); | ||||||
|     for (unsigned int i = 1; i <= howmany; ++i) |     for (unsigned int i = 1; i <= howmany; ++i) | ||||||
|         my_logger.info() << "Hello logger: msg #" << i; |         my_logger.info() << "Hello logger: msg #" << i << 1<<2<<3<<4<<5<<6<<7<<8<<9<<10<<11<<12<<13<<14<<15<<16<<17<<18<<19; | ||||||
|  |     //my_logger.info("Hello logger: msg #",i,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     auto delta = system_clock::now() - start; |     auto delta = system_clock::now() - start; | ||||||
|  | |||||||
| @ -1,49 +1,35 @@ | |||||||
| // example.cpp : Simple logger example
 | // example.cpp : Simple logger example
 | ||||||
| //
 | //
 | ||||||
| #include <mutex> | #define FFLOG_ENABLE_TRACE | ||||||
|  | 
 | ||||||
|  | #include <iostream> | ||||||
| #include "c11log/logger.h" | #include "c11log/logger.h" | ||||||
| #include "c11log/sinks/async_sink.h" | #include "c11log/factory.h" | ||||||
| #include "c11log/sinks/file_sinks.h" |  | ||||||
| #include "c11log/sinks/stdout_sinks.h" | #include "c11log/sinks/stdout_sinks.h" | ||||||
| #include "c11log/sinks/null_sink.h" | #include "c11log/sinks/file_sinks.h" | ||||||
| #include "utils.h" | using namespace std; | ||||||
| 
 |  | ||||||
| using std::cout; |  | ||||||
| using std::endl; |  | ||||||
| using namespace std::chrono; |  | ||||||
| using namespace c11log; |  | ||||||
| using namespace utils; |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| int main(int argc, char* argv[]) | int main(int argc, char* argv[]) | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
|     const unsigned int howmany = argc <= 1 ? 10000 : atoi(argv[1]); |     auto console = c11log::factory::stdout_logger(); | ||||||
| 
 |     auto file = c11log::factory::simple_file_logger("log.txt"); | ||||||
|     logger cout_logger("example", std::make_shared<sinks::stderr_sink_mt>()); |     auto rotating= c11log::factory::rotating_file_logger("myrotating", "txt", 1024*1024*5, 5, 1); | ||||||
|     cout_logger.info() << "Hello logger"; |     auto daily = c11log::factory::daily_file_logger("dailylog", "txt", 1, "daily_logger"); | ||||||
| 
 |  | ||||||
|     //auto nullsink = std::make_shared<sinks::null_sink<std::mutex>>();
 |  | ||||||
|     auto nullsink = std::make_shared<sinks::null_sink<details::null_mutex>>(); |  | ||||||
|     auto fsink = std::make_shared<sinks::rotating_file_sink_st>("log", "txt", 1024*1024*50 , 5, 10); |  | ||||||
|     auto as = std::make_shared<sinks::async_sink>(1000); |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     logger my_logger("my_logger", fsink); |     //console->info() << "This is variadic ", " func, ", 123 << " YES";
 | ||||||
|  |     FFLOG_TRACE(console, "This is ", 1); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     auto start = system_clock::now(); |     file->info("Hello file log"); | ||||||
|     for (unsigned int i = 1; i <= howmany; ++i) |     rotating->info("Hello rotating log"); | ||||||
|         my_logger.info() << "Hello logger: msg #" << i; |     daily->info("Hello daily log"); | ||||||
| 
 | 
 | ||||||
|  |     //multi sink logger: file + console
 | ||||||
|  |     auto sink1= std::make_shared<c11log::sinks::stdout_sink_mt>(); | ||||||
|  |     auto sink2 = std::make_shared<c11log::sinks::daily_file_sink_mt>("rotating", "txt"); | ||||||
|  |     c11log::logger combined("combined", { sink1, sink2 }); | ||||||
| 
 | 
 | ||||||
|     auto delta = system_clock::now() - start; |  | ||||||
|     auto delta_d = duration_cast<duration<double>> (delta).count(); |  | ||||||
| 
 |  | ||||||
|     cout << "Total:" << format(howmany) << endl; |  | ||||||
|     cout << "Delta:" << format(delta_d) << endl; |  | ||||||
|     cout << "Rate:" << format(howmany / delta_d) << "/sec" << endl; |  | ||||||
| 
 |  | ||||||
|     return 0; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user