Exemplo n.º 1
0
	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);
	}
Exemplo n.º 2
0
void InitializeLogging()
{
	AddLogger(createDefaultLogger());
}
Exemplo n.º 3
0
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)));
	}
}