Files
GDevelop/IDE/LogFileManager.cpp
T
Florian 3208966e2f Merged CoreWithImplementation ( i.e: Game Develop 3 ) branch with trunk.
git-svn-id: svn://localhost@976 8062f311-0dae-4547-b526-b8ab9ac864a5
2013-05-06 20:29:22 +00:00

59 lines
1.7 KiB
C++

#include <wx/config.h>
#include <wx/textfile.h>
#include <wx/log.h>
#include <wx/datetime.h>
#include "LogFileManager.h"
#include "GDCore/CommonTools.h"
LogFileManager *LogFileManager::_singleton = NULL;
void LogFileManager::WriteToLogFile(const std::string & log)
{
wxLogNull noLogPlease; //We take care of handling errors
if ( logActivated && !logFile.empty() )
{
wxTextFile file(logFile);
if ( file.Exists() )
{
if ( !file.Open() ) return; //Failed to open already existing log file
}
else
{
if ( !file.Create() ) return; //Failed to create log file
}
wxDateTime time = wxDateTime::Now();
file.AddLine("["+gd::ToString(time.GetMonth()+1)+"/"+gd::ToString(time.GetDay())+"/"+gd::ToString(time.GetYear())+", "+gd::ToString(time.GetHour())+":"+gd::ToString(time.GetMinute())+":"+gd::ToString(time.GetSecond())+"] "+log);
file.Write();
}
}
void LogFileManager::InitalizeFromConfig()
{
//Read configuration
wxConfig::Get()->Read("/Log/Activated", &logActivated, false);
wxString wxLogFile;
wxConfig::Get()->Read("/Log/File", &wxLogFile, "");
logFile = gd::ToString(wxLogFile);
//Clear log
if ( logActivated && !logFile.empty() )
{
wxLogNull noLogPlease; //We take care of handling errors
wxTextFile file(logFile);
if ( file.Exists() )
{
if ( !file.Open() ) return; //Failed to open already existing log file
file.Clear();
file.Write();
}
else
{
if ( !file.Create() ) return; //Failed to create log file
}
}
}