int main() { auto r = cout_logger(); compare_with_boost(); frontend(); std::cout << "cout tests:" << std::endl; std::cout << "\t" << "mlog::standard_logger => " << r.normal << "ms" << std::endl; std::cout << "\t" << "mlog::thread_safe<mlog::standard_logger> => " << r.thread_safe << "ms" << std::endl; std::cout << "\t" << "mlog::async_logger<mlog::standard_logger> => " << r.async << "ms" << std::endl; std::cout << "\t\twith thread id:\t\t" << ((r.with_thread_id - r.normal) > 0 ? "+" : "") << r.with_thread_id - r.normal << "ms" << std::endl; std::cout << "\t\twith time:\t\t" << ((r.with_time - r.normal) > 0 ? "+" : "") << r.with_time - r.normal << "ms" << std::endl; std::cout << "\t\twith code position:\t" << ((r.with_pos - r.normal) > 0 ? "+" : "") << r.with_pos - r.normal << "ms" << std::endl; file_logger(); syslog_logger(); memory_logger(); return 0; }
void cp_logger(int level, const char *cname, const char *msg, ...){ #ifdef CP_DBG va_list v; va_start(v, msg); file_logger(level, cname, msg, v); va_end (v); #endif //CP_DBG return; }
void colorer_logger(int level, const char *cname, const char *msg, va_list v){ bool found = false; for (size_t idx = 0; idx < sizeof(toTrace)/sizeof(toTrace[0]); idx++){ if (stricmp(toTrace[idx], cname) == 0){ found = true; } } if (!found){ // return; } //*/ // console_logger(level, cname, msg, v); file_logger(level, cname, msg, v); }
static void start_client_nodes(const nodes_data::ptr &data, std::ostream &debug_stream, const std::vector<std::string> &remotes) { (void) debug_stream; dnet_config config; memset(&config, 0, sizeof(config)); logger log; if (!data->directory.path().empty()) { const std::string path = data->directory.path() + "/client.log"; log = file_logger(path.c_str(), DNET_LOG_DEBUG); } data->node.reset(new node(log)); for (size_t i = 0; i < remotes.size(); ++i) { data->node->add_remote(remotes[i].c_str()); } }
int UiTbcTestApplication::Run() { uitbc::Init(); // Run this to get the main thread running on one CPU only. Otherwise // time measurement gets screwed up when switching between cores; system CPUs // are not time synchronized and usually diffs about 2-3 seconds (AMD). lepra::SystemManager::InitializeMainThreadAffinity(); lepra::ConsoleLogListener* console_log_pointer = 0; #ifdef LEPRA_CONSOLE lepra::ConsoleLogListener console_logger; console_log_pointer = &console_logger; #endif // LEPRA_CONSOLE lepra::FileLogListener file_logger(_TEXT_ALTERNATIVE("TbcTestApp.log", L"TbcUnicodeTestApp.log")); lepra::FileLogListener performance_logger(_TEXT_ALTERNATIVE("TbcPerformance.log", L"TbcUnicodePerformance.log")); lepra::MemFileLogListener mem_logger; lepra::Log::SetupMainStandardLogging(console_log_pointer, &file_logger, &performance_logger, &mem_logger); lepra::Log::Out("TbcTestApp/main", "\n\n--- Build type: " kLepraStringTypeText " " kLepraBuildTypeText " ---\n", lepra::Log::LOG_ERROR); mem_logger.Clear(); bool _test_ok = true; if (_test_ok) { performance_logger.LogListener::OnLogMessage("lepra", "\n\n---\n", lepra::Log::LOG_PERFORMANCE); _test_ok = TestUiLepra("Lepra"); lepra::Log::OutPerformanceNode("lepra"); lepra::PerformanceScope::Clear(); } if (_test_ok) { performance_logger.LogListener::OnLogMessage("Tbc", "\n\n---\n", lepra::Log::LOG_PERFORMANCE); lepra::Thread::Sleep(1.0); _test_ok = TestUiTbc(" Tbc"); lepra::Log::OutPerformanceNode("Tbc"); lepra::PerformanceScope::Clear(); } ShowTestResult(" Tbc", _test_ok); lepra::Log::OutPerformanceNode("TbcTestApp"); //mem_logger.DumpToFile(_TEXT_ALTERNATIVE("Temp.log", L"TempUnicode.log")); return (0); }