void SetWin32Handler(HINSTANCE hInstance) { static bool called = false; if (called) return; called = true; s_win32Displayer.SetInstance(hInstance); InfoProviders::Win32ThreadIdInfoProvider::SetMainThreadId(GetCurrentThreadId()); AddInfoProvider(&s_lastErrorInfoProvider); AddHook(&s_lastErrorHook); AddInfoProvider(&s_threadIdInfoProvider); AddInfoProvider(&s_timeInfoProvider); AddInfoProvider(&s_processIdInfoProvider); AddInfoProvider(&s_OSVersionInfoProvider); AddInfoProvider(&s_processorInfoProvider); AddInfoProvider(&s_currentDirectoryInfoProvider); AddInfoProvider(&s_userNameInfoProvider); AddInfoProvider(&s_computerNameInfoProvider); AddInfoProvider(&s_totalMemoryInfoProvider); AddInfoProvider(&s_freeMemoryInfoProvider); // Add a Win32DiskInfoProvider and Win32FreeDiskSpaceInfoProvider // for every drive. for (char drive='a'; drive<='z'; ++drive) { if (UseDrive(drive)) CheckDrive(drive); } // this loop supposes that the number of elements in // s_diskInfoProviders and s_freeDiskSpaceInfoProviders // are the same - adjust if this would no longer be the case! for (size_t idx=0; idx<s_diskInfoProviders.size(); ++idx) { AddInfoProvider(&s_diskInfoProviders[idx]); AddInfoProvider(&s_freeDiskSpaceInfoProviders[idx]); } // add logger after infoproviders, so the information in them // is logged to it AddLogger(&s_win32Trace); }
void InitializeLogging() { AddLogger(createDefaultLogger()); }
void RheiaLoggerManager::InitializeEnvironment() { // /************************************************************************* // * Create the log window // *************************************************************************/ //#if wxHAS_TEXT_WINDOW_STREAM // LogWindow = new wxTextCtrl( Book, wxID_ANY, _("This is the log window\n"), wxDefaultPosition, // wxDefaultSize, wxNO_BORDER | wxTE_RICH | wxTE_READONLY | wxTE_MULTILINE ); // redirector = new wxStreamToTextRedirector( LogWindow ); //#else // LogWindow = new wxStreamedTextCtrl( Book, wxID_ANY, _("This is the log window\n"), wxDefaultPosition, // wxDefaultSize, wxNO_BORDER | wxTE_RICH | wxTE_READONLY | wxTE_MULTILINE ); // redirector = new wxStreamToTextRedirector( (wxStreamedTextCtrl*) LogWindow , std::cout ); //#endif // std::cout << "Standard cout stream redirected to the log window..." << std::endl; // // // Set user profile book configuration // RheiaConfigurationManager *icfg = RheiaManager::Get()->GetConfigurationManager(_T("log_manager")); // // /* Now sets the log font size */ // int FontSize = (int) icfg->ReadInt(_T("/aspect/log_font_size"), 8); // wxTextCtrl *iText = LogWindow; // wxFont font = iText->GetFont(); // font.SetPointSize( FontSize ); // iText->SetFont( font ); // // for(size_t i = 0; i < max_logs; ++i) // { // slot[i].index = i; // slot[i].log = &g_null_log; // } // // SetLog(new RheiaTextCtrlLogger, app_log); // SetLog(new RheiaStdoutLogger, stdout_log); // SetLog(new RheiaTextCtrlLogger, debug_log); // slot[app_log].title = _T("Rheia"); // slot[debug_log].title = _T("Rheia Debug"); // slot[stdout_log].title = _T("stdout"); // // wxString path = RheiaStandardPaths::DataDirectoryGlobal() + _T("/images/edit_16x16.png"); // defaultBitmap = RheiaLoadBitmap(path, wxBITMAP_TYPE_PNG); // // wxRegisterId(baseID + num_pages); // for(int i = 0; i < num_pages; ++i) // { // page[i] = Page(); // } // // wxWindow* log; // // for(size_t i = app_log; i < ::max_logs; ++i) // { // if((log = Slot(i).GetLogger()->CreateControl(Book))) // AddLogger(Slot(i).GetLogger(), log, Slot(i).title, Slot(i).icon); // } // // /************************************************************************* // * Add the log window to the page // *************************************************************************/ // Book->AddPage( LogWindow , _("Logs") , false , defaultBitmap ); /*** * Global loggers shall now be registered * Create standard RheiaLoggers name Rheia Log, Rheia Debug Log */ RheiaLogger* log = RheiaLoggerFactory::Get()->BuildLogger( wxT("TimeTextLogger") , wxT("Rheia Log") ); if( log != NULL ) { AddLogger(log,wxT("Rheia Log")); log->Log( wxT("Rheia Log initialized ...") , RheiaLogging::success ); log->Log( wxT("You will find here all standard Rheia Logging Info ...") , RheiaLogging::info ); SetActiveLogger( wxT("Rheia Log") ); } //#if defined( RHEIA_DEBUG ) || defined( _DEBUG ) RheiaLogger* debuglog = RheiaLoggerFactory::Get()->BuildLogger( wxT("TimeTextLogger") , wxT("Rheia Debug Log") ); if( debuglog != NULL ) { AddLogger(debuglog,wxT("Rheia Debug Log")); debuglog->Log( wxT("Rheia Debug Log initialized ...") , RheiaLogging::success ); } //#endif if( m_parent ) { m_parent->PushEventHandler( this ); RheiaFrameEventsManager::Get(m_parent)->RegisterEventMethod(RheiaEVT_FRAME_CLOSING, new RheiaEventFunctor<RheiaLoggerManager>(this, RheiaFrameEventHandler(RheiaLoggerManager::OnCloseFrame))); } }