void CreateAppenders() { // to output messages we must create an appender. here we will // use the stderr appender. // to prepend the time and message id to all logged messages // we must add a layout object to the appender PVLoggerAppender* appender = new StdErrAppender<TimeAndIdLayout, 1024>(); OsclRefCounterSA<BasicDestructDealloc> *appenderRefCounter = new OsclRefCounterSA<BasicDestructDealloc>(appender); OsclSharedPtr<PVLoggerAppender> appenderPtr(appender, appenderRefCounter); // add the appender to the root node of the tree. this // will log all messages from all nodes which enable appender inheritance (default) PVLogger* rootnode = PVLogger::GetLoggerObject(""); rootnode->AddAppender(appenderPtr); // set the log level for the root node rootnode->SetLogLevel(PVLOGMSG_DEBUG); //force the scheduler logger to be created now, so //it won't mess up the heap checks by getting //created later PVLogger::GetLoggerObject("pvscheduler"); PVLogger::GetLoggerObject("pvproxy"); }
void SetLoggerSettings() { Oscl_Vector<LoggerConfigElement, OsclMemAllocator>::iterator it; PVLoggerAppender *appender = NULL; OsclRefCounter *refCounter = NULL; if (iLoggerConfigElements.empty()) { return; } if (iAppenderType == 0) { appender = new StdErrAppender<TimeAndIdLayout, 1024>(); OsclRefCounterSA<LogAppenderDestructDealloc<StdErrAppender<TimeAndIdLayout, 1024> > > *appenderRefCounter = new OsclRefCounterSA<LogAppenderDestructDealloc<StdErrAppender<TimeAndIdLayout, 1024> > >(appender); refCounter = appenderRefCounter; } else if (iAppenderType == 1) { OSCL_wHeapString<OsclMemAllocator> logfilename(OUTPUTNAME_PREPEND_WSTRING); logfilename += _STRLIT_WCHAR("player.log"); appender = (PVLoggerAppender*)TextFileAppender<TimeAndIdLayout, 1024>::CreateAppender(logfilename.get_str()); OsclRefCounterSA<LogAppenderDestructDealloc<TextFileAppender<TimeAndIdLayout, 1024> > > *appenderRefCounter = new OsclRefCounterSA<LogAppenderDestructDealloc<TextFileAppender<TimeAndIdLayout, 1024> > >(appender); refCounter = appenderRefCounter; } else { OSCL_wHeapString<OsclMemAllocator> logfilename(OUTPUTNAME_PREPEND_WSTRING); logfilename += _STRLIT_WCHAR("player.log"); appender = (PVLoggerAppender*)MemAppender<TimeAndIdLayout, 1024>::CreateAppender(logfilename.get_str()); OsclRefCounterSA<LogAppenderDestructDealloc<MemAppender<TimeAndIdLayout, 1024> > > *appenderRefCounter = new OsclRefCounterSA<LogAppenderDestructDealloc<MemAppender<TimeAndIdLayout, 1024> > >(appender); refCounter = appenderRefCounter; } OsclSharedPtr<PVLoggerAppender> appenderPtr(appender, refCounter); for (it = iLoggerConfigElements.begin(); it != iLoggerConfigElements.end(); it++) { PVLogger *node = NULL; node = PVLogger::GetLoggerObject(it->iLoggerString); node->AddAppender(appenderPtr); node->SetLogLevel(it->iLogLevel); } }