Changed: #991 Make sure all debug files are created in log directory

This commit is contained in:
kervala 2010-06-21 21:03:21 +02:00
parent d089919c2f
commit 721a429cbc
13 changed files with 41 additions and 42 deletions

View file

@ -669,7 +669,9 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
{ {
// yoyo: allow only to send the crash report once. Because users usually click ignore, // yoyo: allow only to send the crash report once. Because users usually click ignore,
// which create noise into list of bugs (once a player crash, it will surely continues to do it). // which create noise into list of bugs (once a player crash, it will surely continues to do it).
if (ReportDebug == report (args.ProcessName + " NeL " + toString(logTypeToString(args.LogType, true)), "", subject, body, true, 2, true, 1, !isCrashAlreadyReported(), IgnoreNextTime, NL_CRASH_DUMP_FILE)) std::string filename = getLogDirectory() + NL_CRASH_DUMP_FILE;
if (ReportDebug == report (args.ProcessName + " NeL " + toString(logTypeToString(args.LogType, true)), "", subject, body, true, 2, true, 1, !isCrashAlreadyReported(), IgnoreNextTime, filename.c_str()))
{ {
INelContext::getInstance().setDebugNeedAssert(true); INelContext::getInstance().setDebugNeedAssert(true);
} }

View file

@ -95,8 +95,8 @@ static CTcpSock CrashCounterSock;
void quitCrashReport () void quitCrashReport ()
{ {
if (NLMISC::CFile::fileExists("ryzom_started")) if (NLMISC::CFile::fileExists(getLogDirectory() + "ryzom_started"))
CFile::deleteFile ("ryzom_started"); CFile::deleteFile (getLogDirectory() + "ryzom_started");
// must disconnect now, else could crash at dtor time because nldebug -> access a new INelContext() // must disconnect now, else could crash at dtor time because nldebug -> access a new INelContext()
contReset(CrashCounterSock); contReset(CrashCounterSock);
} }
@ -285,7 +285,7 @@ INT_PTR CALLBACK ReportDialogProc(
void initCrashReport () void initCrashReport ()
{ {
// //
bool crashed = CFile::isExists ("ryzom_started"); bool crashed = CFile::isExists (getLogDirectory() + "ryzom_started");
bool during_release = false; bool during_release = false;
bool exception_catched = false; bool exception_catched = false;
bool breakpointed = false; bool breakpointed = false;
@ -293,22 +293,21 @@ void initCrashReport ()
bool report_failed = false; bool report_failed = false;
bool report_refused = false; bool report_refused = false;
bool report_sent = false; bool report_sent = false;
if (crashed && CFile::isExists ("during_release")) if (crashed && CFile::isExists (getLogDirectory() + "during_release"))
during_release = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("during_release"); during_release = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "during_release");
if (crashed && CFile::isExists ("exception_catched")) if (crashed && CFile::isExists (getLogDirectory() + "exception_catched"))
exception_catched = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("exception_catched"); exception_catched = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "exception_catched");
if (crashed && CFile::isExists ("breakpointed")) if (crashed && CFile::isExists (getLogDirectory() + "breakpointed"))
breakpointed = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("breakpointed"); breakpointed = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "breakpointed");
if (crashed && CFile::isExists ("nel_debug.dmp")) if (crashed && CFile::isExists (getLogDirectory() + "nel_debug.dmp"))
dumped = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("nel_debug.dmp"); dumped = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "nel_debug.dmp");
if (crashed && CFile::isExists ("report_failed")) if (crashed && CFile::isExists (getLogDirectory() + "report_failed"))
report_failed = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("report_failed"); report_failed = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "report_failed");
if (crashed && CFile::isExists ("report_refused")) if (crashed && CFile::isExists (getLogDirectory() + "report_refused"))
report_refused = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("report_refused"); report_refused = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "report_refused");
if (crashed && CFile::isExists ("report_sent")) if (crashed && CFile::isExists (getLogDirectory() + "report_sent"))
report_sent = CFile::getFileModificationDate ("ryzom_started") <= CFile::getFileModificationDate ("report_sent"); report_sent = CFile::getFileModificationDate (getLogDirectory() + "ryzom_started") <= CFile::getFileModificationDate (getLogDirectory() + "report_sent");
FILE *file = fopen ("ryzom_started", "wb"); CFile::createEmptyFile(getLogDirectory() + "ryzom_started");
fclose (file);
connect(); connect();
if (report_sent) if (report_sent)
send("/?crashtype=REPORT_SENT"); send("/?crashtype=REPORT_SENT");
@ -580,8 +579,7 @@ int main(int argc, char **argv)
//ICommand::execute("iFileAccessLogClear",*NLMISC::InfoLog); //ICommand::execute("iFileAccessLogClear",*NLMISC::InfoLog);
#endif #endif
FILE *file = fopen ("during_release", "wb"); CFile::createEmptyFile(getLogDirectory() + "during_release");
fclose (file);
#ifdef TEST_CRASH_COUNTER #ifdef TEST_CRASH_COUNTER
if (string(cmdline) == "/release") if (string(cmdline) == "/release")

View file

@ -376,7 +376,7 @@ NLMISC_COMMAND(bugReport, "Call the bug report tool with dump", "<AddScreenshot>
CBitmap btm; CBitmap btm;
Driver->getBuffer(btm); Driver->getBuffer(btm);
string filename = CFile::findNewFile ("screenshot.jpg"); string filename = CFile::findNewFile (getLogDirectory() + "screenshot.jpg");
COFile fs(filename); COFile fs(filename);
btm.writeJPG(fs, quality); btm.writeJPG(fs, quality);
sys += "AttachedFile "+filename+" "; sys += "AttachedFile "+filename+" ";
@ -390,7 +390,7 @@ NLMISC_COMMAND(bugReport, "Call the bug report tool with dump", "<AddScreenshot>
if (ClientCfg.Local) if (ClientCfg.Local)
sys += "ShardName OFFLINE "; sys += "ShardName OFFLINE ";
FILE *fp = fopen ("bug_report.txt", "wb"); FILE *fp = fopen (std::string(getLogDirectory() + "bug_report.txt").c_str(), "wb");
if (fp != NULL) if (fp != NULL)
{ {
string res = addSlashR(getDebugInformation()); string res = addSlashR(getDebugInformation());

View file

@ -179,7 +179,7 @@ void CEntityAnimationManager::load(NLMISC::IProgressCallback &/* progress */, bo
release(); release();
// Log in the animation file. // Log in the animation file.
setDebugOutput("animation.dbg"); setDebugOutput(getLogDirectory() + "animation.dbg");
// Create the animation set for all entities. // Create the animation set for all entities.
_AnimationSet = Driver->createAnimationSet(); _AnimationSet = Driver->createAnimationSet();

View file

@ -168,7 +168,7 @@ const std::string& CLoginStateMachine::toString(CLoginStateMachine::TEvent event
{ \ { \
COFile outputF; \ COFile outputF; \
string sLog = NLMISC::toString("[%s] %s -> %s\n", CLoginStateMachine::toString(ev).c_str(), CLoginStateMachine::toString(_CurrentState).c_str(), CLoginStateMachine::toString(stateId).c_str()); \ string sLog = NLMISC::toString("[%s] %s -> %s\n", CLoginStateMachine::toString(ev).c_str(), CLoginStateMachine::toString(_CurrentState).c_str(), CLoginStateMachine::toString(stateId).c_str()); \
if ( outputF.open( "error_join.log", true, true ) ) \ if ( outputF.open( getLogDirectory() + "error_join.log", true, true ) ) \
{ \ { \
outputF.serialBuffer( (uint8*)(&sLog[0]), (uint)sLog.size() ); \ outputF.serialBuffer( (uint8*)(&sLog[0]), (uint)sLog.size() ); \
outputF.close(); \ outputF.close(); \
@ -903,7 +903,7 @@ retryJoinEdit:
try try
{ {
COFile outputF; COFile outputF;
if ( outputF.open( "error_join.log", true, true ) ) if ( outputF.open( getLogDirectory() + "error_join.log", true, true ) )
{ {
time_t currentTime; time_t currentTime;
time( &currentTime ); time( &currentTime );

View file

@ -702,7 +702,7 @@ void prelogInit()
// Client.Log displayer // Client.Log displayer
nlassert( !ErrorLog->getDisplayer("CLIENT.LOG") ); nlassert( !ErrorLog->getDisplayer("CLIENT.LOG") );
CFileDisplayer *ClientLogDisplayer = new CFileDisplayer("client.log", true, "CLIENT.LOG"); CFileDisplayer *ClientLogDisplayer = new CFileDisplayer(getLogDirectory() + "client.log", true, "CLIENT.LOG");
DebugLog->addDisplayer (ClientLogDisplayer); DebugLog->addDisplayer (ClientLogDisplayer);
InfoLog->addDisplayer (ClientLogDisplayer); InfoLog->addDisplayer (ClientLogDisplayer);
WarningLog->addDisplayer (ClientLogDisplayer); WarningLog->addDisplayer (ClientLogDisplayer);

View file

@ -1306,7 +1306,7 @@ void initMainLoop()
// Display and save profile to a File. // Display and save profile to a File.
CLog log; CLog log;
CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile("profile_startup.log")); CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile(getLogDirectory() + "profile_startup.log"));
log.addDisplayer(&fileDisplayer); log.addDisplayer(&fileDisplayer);
// display // display
NLMISC::CHTimer::displayHierarchicalByExecutionPathSorted(&log, CHTimer::TotalTime, true, 48, 2); NLMISC::CHTimer::displayHierarchicalByExecutionPathSorted(&log, CHTimer::TotalTime, true, 48, 2);

View file

@ -151,7 +151,7 @@ class CAHProfileTexture : public IActionHandler
// Display and save profile to a File. // Display and save profile to a File.
CLog log; CLog log;
CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile("texture.log")); CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile(getLogDirectory() + "texture.log"));
CStdDisplayer stdDisplayer; CStdDisplayer stdDisplayer;
log.addDisplayer(&fileDisplayer); log.addDisplayer(&fileDisplayer);
log.addDisplayer(&stdDisplayer); log.addDisplayer(&stdDisplayer);

View file

@ -677,7 +677,7 @@ bool CInterfaceParser::parseInterface (const std::vector<std::string> & strings,
NLMISC::CHTimer::endBench(); NLMISC::CHTimer::endBench();
// Display and save profile to a File. // Display and save profile to a File.
CLog log; CLog log;
CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile("profile_parseInterface.log")); CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile(getLogDirectory() + "profile_parseInterface.log"));
log.addDisplayer(&fileDisplayer); log.addDisplayer(&fileDisplayer);
// diplay // diplay
NLMISC::CHTimer::displayHierarchicalByExecutionPathSorted(&log, CHTimer::TotalTime, true, 48, 2); NLMISC::CHTimer::displayHierarchicalByExecutionPathSorted(&log, CHTimer::TotalTime, true, 48, 2);

View file

@ -206,7 +206,7 @@ void createOptionalCatUI()
void initEula() void initEula()
{ {
CInterfaceManager *pIM = CInterfaceManager::getInstance(); CInterfaceManager *pIM = CInterfaceManager::getInstance();
if (!ClientCfg.SkipEULA && CFile::fileExists("show_eula")) if (!ClientCfg.SkipEULA && CFile::fileExists(getLogDirectory() + "show_eula"))
{ {
pIM->getDbProp("UI:VARIABLES:SCREEN")->setValue32(UI_VARIABLES_SCREEN_EULA); pIM->getDbProp("UI:VARIABLES:SCREEN")->setValue32(UI_VARIABLES_SCREEN_EULA);
@ -599,9 +599,7 @@ void loginMainLoop()
// the patcher to overwrite them) // the patcher to overwrite them)
// create a file to prompt eula next time // create a file to prompt eula next time
FILE *file = fopen ("show_eula", "wb"); CFile::createEmptyFile(getLogDirectory() + "show_eula");
fclose (file);
if (taskResult == BGDownloader::TaskResult_Error) if (taskResult == BGDownloader::TaskResult_Error)
{ {
@ -1707,9 +1705,10 @@ class CAHReboot : public IActionHandler
virtual void execute (CCtrlBase * /* pCaller */, const string &/* sParams */) virtual void execute (CCtrlBase * /* pCaller */, const string &/* sParams */)
{ {
nlinfo("CAHReboot called"); nlinfo("CAHReboot called");
// create a file to prompt eula next time // create a file to prompt eula next time
FILE *file = fopen ("show_eula", "wb"); CFile::createEmptyFile(getLogDirectory() + "show_eula");
fclose (file);
CInterfaceManager *im = CInterfaceManager::getInstance(); CInterfaceManager *im = CInterfaceManager::getInstance();
try try
{ {
@ -1747,7 +1746,7 @@ class CAHAcceptEula : public IActionHandler
virtual void execute (CCtrlBase * /* pCaller */, const string &/* sParams */) virtual void execute (CCtrlBase * /* pCaller */, const string &/* sParams */)
{ {
nlinfo("CAHAcceptEula called"); nlinfo("CAHAcceptEula called");
CFile::deleteFile("show_eula"); CFile::deleteFile(getLogDirectory() + "show_eula");
LoginSM.pushEvent(CLoginStateMachine::ev_accept_eula); LoginSM.pushEvent(CLoginStateMachine::ev_accept_eula);
// if (ClientCfg.R2Mode) // if (ClientCfg.R2Mode)

View file

@ -518,7 +518,7 @@ void testLaunchProfile()
// Display and save profile to a File. // Display and save profile to a File.
CLog log; CLog log;
CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile("profile.log")); CFileDisplayer fileDisplayer(NLMISC::CFile::findNewFile(getLogDirectory() + "profile.log"));
CStdDisplayer stdDisplayer; CStdDisplayer stdDisplayer;
log.addDisplayer(&fileDisplayer); log.addDisplayer(&fileDisplayer);
log.addDisplayer(&stdDisplayer); log.addDisplayer(&stdDisplayer);

View file

@ -133,7 +133,7 @@ void initReceiveLog()
{ {
try try
{ {
ReceiveLogDisp = new CFileDisplayer( "ReceiveLog.log" ); ReceiveLogDisp = new CFileDisplayer( getLogDirectory() + "ReceiveLog.log" );
ReceiveLogger.addDisplayer( ReceiveLogDisp ); ReceiveLogger.addDisplayer( ReceiveLogDisp );
//ReceiveLogger.displayNL( "Searching for param LogReceive in the config file..." ); //ReceiveLogger.displayNL( "Searching for param LogReceive in the config file..." );
NCConfigFile.load( string( "client.cfg" ) ); NCConfigFile.load( string( "client.cfg" ) );

View file

@ -598,7 +598,7 @@ void CSheetManager::release()
void CSheetManager::load(NLMISC::IProgressCallback &callBack, bool updatePackedSheet, bool needComputeVS, bool dumpVSIndex) void CSheetManager::load(NLMISC::IProgressCallback &callBack, bool updatePackedSheet, bool needComputeVS, bool dumpVSIndex)
{ {
// Open The Item Association File // Open The Item Association File
if(!fItemAssoc.open("item_association.dbg", false, true)) if(!fItemAssoc.open(getLogDirectory() + "item_association.dbg", false, true))
nlwarning("CSheetManager::load: Cannot Open the 'item_association.txt'."); nlwarning("CSheetManager::load: Cannot Open the 'item_association.txt'.");
else else
ItemAssocFileOpen = true; ItemAssocFileOpen = true;
@ -1020,7 +1020,7 @@ void CSheetManager::dumpVisualSlots()
// *************************************************************************** // ***************************************************************************
void CSheetManager::dumpVisualSlotsIndex() void CSheetManager::dumpVisualSlotsIndex()
{ {
FILE * vsIndexFile = fopen("vs_index.txt","w"); FILE * vsIndexFile = fopen(std::string(getLogDirectory() + "vs_index.txt").c_str(),"w");
if( vsIndexFile ) if( vsIndexFile )
{ {
for (uint i=0; i < SLOTTYPE::NB_SLOT; ++i) for (uint i=0; i < SLOTTYPE::NB_SLOT; ++i)