bool CTestRegApp::Thread_Run(int idx) { for (int i=0; i<kRepeatCount; i++) { /* Standard messages */ {{ //NcbiLog_SetPostLevel(eNcbiLog_Trace); // allow Trace -- it is disable by default NcbiLog_Trace("Message"); NcbiLog_Warning("Message"); NcbiLog_Error("Message"); NcbiLog_Critical("Message"); }} /* Request without parameters */ {{ NcbiLog_ReqStart(NULL); NcbiLog_Trace ("Request without parameters - trace"); NcbiLog_Warning("Request without parameters - warning"); NcbiLog_Error ("Request without parameters - error"); NcbiLog_ReqStop(200, 1, 2); }} /* Request with parameters */ CStopWatch sw(CStopWatch::eStart); {{ static const SNcbiLog_Param params[] = { { "k1", "v1" }, { "k2", "v2" }, { "", "v3" }, { "k4", "" }, { "", "" }, { "k5", "v5" }, { NULL, NULL } }; NcbiLog_SetSession("session name"); NcbiLog_SetClient("192.168.1.1"); NcbiLog_ReqStart(params); NcbiLog_ReqRun(); NcbiLog_Trace ("Request with parameters - trace"); NcbiLog_Warning("Request with parameters - warning"); NcbiLog_Error ("Request with parameters - error"); NcbiLog_ReqStop(500, 3, 4); }} /* Extra & performance logging */ {{ double timespan = sw.Elapsed(); static const SNcbiLog_Param params[] = { { "resource", "test" }, { "key", "value" }, { NULL, NULL } }; NcbiLog_Extra(params); NcbiLog_Perf(200, timespan, params); }} } return true; }
int main(int argc, const char* argv[] /*, const char* envp[]*/) { TNcbiLog_MTLock mt_lock = NcbiLog_MTLock_Create(NULL, Test_MT_Handler); /* Initialize logging API */ NcbiLog_Init(argv[0], mt_lock, eNcbiLog_MT_TakeOwnership); /* Or, NcbiLog_InitMT(argv[0]); -- use default MT handler as above. NcbiLog_InitST(argv[0]); -- only for single-threaded applications */ /* Set logging destination */ NcbiLog_SetDestination(eNcbiLog_Stdout); /* Or, NcbiLog_SetDestination(eNcbiLog_Default); -- default, can be skipped NcbiLog_SetDestination(eNcbiLog_Stdlog); NcbiLog_SetDestination(eNcbiLog_Stdout); NcbiLog_SetDestination(eNcbiLog_Stderr); NcbiLog_SetDestination(eNcbiLog_Disable); */ /* Set host name NcbiLog_SetHost("SOMEHOSTNAME"); */ /* Set log_site NcbiLog_SetLogSite(""); */ /* Set process/thread ID NcbiLog_SetProcessId(pid); NcbiLog_SetThreadId(tid); */ /* Start application */ NcbiLog_AppStart(argv); NcbiLog_AppRun(); /* Standard messages */ {{ NcbiLog_SetPostLevel(eNcbiLog_Warning); NcbiLog_Trace("Message"); NcbiLog_Warning("Message"); NcbiLog_Error("Message"); NcbiLog_Critical("Message"); /* NcbiLog_Fatal("Message"); */ }} /* Standard messages with user provided time */ {{ time_t timer; NcbiLog_SetPostLevel(eNcbiLog_Trace); timer = time(0); NcbiLog_SetTime(timer, 0); NcbiLog_Trace("Use user provided time (1)"); NcbiLog_Trace("Use user provided time (2)"); NcbiLog_SetTime(0,0); NcbiLog_Trace("Use system local time"); }} /* Request without parameters */ {{ NcbiLog_ReqStart(NULL); NcbiLog_ReqStop(200, 1, 2); }} /* Message printed between requests */ {{ NcbiLog_Error("Message printed between requests"); }} /* Request without parameters -- new ID */ {{ NcbiLog_SetRequestId(10); NcbiLog_ReqStart(NULL); NcbiLog_ReqStop(403, 5, 6); }} /* Request with parameters */ {{ static const SNcbiLog_Param params[] = { { "k1", "v1" }, { "k2", "v2" }, { "", "v3" }, { "k4", "" }, { "", "" }, { "k5", "v5" }, { NULL, NULL } }; NcbiLog_SetSession("session name"); NcbiLog_SetClient("192.168.1.1"); NcbiLog_ReqStart(params); NcbiLog_ReqRun(); NcbiLog_ReqStop(500, 3, 4); }} /* Extra & performance logging */ {{ double timespan = 1.2345678; static const SNcbiLog_Param params[] = { { "resource", "test" }, { "key", "value" }, { NULL, NULL } }; NcbiLog_Extra(params); NcbiLog_Perf(200, timespan, params); }} /* Stop application with exit code 0 */ NcbiLog_AppStop(0); /* Deinitialize logging API */ NcbiLog_Destroy(); return 0; }