⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbg_logf.cpp

📁 一个Symbain 文本编辑器
💻 CPP
字号:
/*
 * HView [c]2004 Marcin Skoczylas, All rights reserved
 *
 * This file is under GPL license, see gpl.txt file
 *
 */

/*
 * console code 
 */

#include "DBG_Logf.h"
#include "SymDefs.h"
#include <eikenv.h>

#ifdef __DEBUG

void DBG_initLogFile(void)
{
	_LIT (fileName, "C:\\hviewDebug.txt");

	RFs fileServer;
	RFile fp;
	
	fileServer.Connect();
	fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	fp.Close();
	fileServer.Close();

}

void DBG_shutdownLogFile(void)
{
	LOGF("closing stdlib & logfile\nbye!\n");
	CloseSTDLIB();
}

void LOGF(char *fmt, ... )
{
    char buffer[512] = {0};
	RFs fileServer;
	RFile fp;

	_LIT (fileName, "C:\\hviewDebug.txt");
	

	fileServer.Connect();

	if (!fp.Open(fileServer, fileName, EFileShareAny|EFileWrite))
	{
		int pos = 0;
		fp.Seek(ESeekEnd, pos);
	}
	else
	{
	
		fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	}

#ifdef __WINS__	
	//tstamp disabled on arm buildz
	TTime aTime;
	
	aTime.HomeTime();
	TBuf<30> dateString;
	_LIT(KDateString1,"%1%2%3 %H:%T:%S :: ");
	aTime.FormatL(dateString,KDateString1);

	TBuf8<128> buf8;
	buf8.Copy(dateString);

	fp.Write(buf8);
#endif

    va_list args;

    va_start(args, fmt);
    vsprintf(buffer, fmt, args);
    va_end(args);


	TPtrC8 ptr((const unsigned char *)buffer);
	fp.Write(ptr);

	fp.Close();
	fileServer.Close();

}

void LOGF_noTimeStamp(char *fmt, ... )
{
    char buffer[512] = {0};
	RFs fileServer;
	RFile fp;

	_LIT (fileName, "C:\\hviewDebug.txt");
	

	fileServer.Connect();

	if (!fp.Open(fileServer, fileName, EFileShareAny|EFileWrite))
	{
		int pos = 0;
		fp.Seek(ESeekEnd, pos);
	}
	else
	{
	
		fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	}

    va_list args;

    va_start(args, fmt);
    vsprintf(buffer, fmt, args);
    va_end(args);


	TPtrC8 ptr((const unsigned char *)buffer);
	fp.Write(ptr);

	fp.Close();
	fileServer.Close();

}

void LOGD(TDesC16 *buf16)
{
	RFs fileServer;
	RFile fp;

	_LIT (fileName, "C:\\hviewDebug.txt");
	

	fileServer.Connect();

	if (!fp.Open(fileServer, fileName, EFileShareAny|EFileWrite))
	{
		int pos = 0;
		fp.Seek(ESeekEnd, pos);
	}
	else
	{
	
		fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	}

	
#ifdef __WINS__
	// DizaBled
	TTime aTime;
	
	aTime.HomeTime();
	TBuf<30> dateString;
	_LIT(KDateString1,"%1%2%3 %H:%T:%S :: ");
	aTime.FormatL(dateString,KDateString1);

#endif

	TBuf8<128> buf8;
	
	//
	//buf8.Copy(dateString);
	//fp.Write(buf8);
	//


	buf8.Copy(*buf16);
	fp.Write(buf8, (*buf16).Length());
	

	fp.Close();
	fileServer.Close();

}

//paniqra

void SYS_Errorf(char *fmt, ... )
{
    char buffer[512] = {0};
	RFs fileServer;
	RFile fp;

	_LIT (fileName, "C:\\hviewLatestCrash.log");

	fileServer.Connect();

	if (!fp.Open(fileServer, fileName, EFileShareAny|EFileWrite))
	{
		int pos = 0;
		fp.Seek(ESeekEnd, pos);
	}
	else
	{
	
		fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	}

	char *compilerText = "\n\nHView " __HVIEWVERSION__ " build " __DATE__ " " __TIME__ " run: ";

	TPtrC8 ptr1((const unsigned char *)compilerText);
	fp.Write(ptr1);

	TTime aTime;
	
	aTime.HomeTime();
	TBuf<30> dateString;
	_LIT(KDateString1,"%1%2%3 %H:%T:%S :: ");
	aTime.FormatL(dateString,KDateString1);

	TBuf8<128> buf8;
	buf8.Copy(dateString);

	_LIT8(KFatalError, "got FATAL ERROR:\n\n");
	fp.Write(buf8);
	fp.Write(KFatalError);
	

    va_list args;

    va_start(args, fmt);
    vsprintf(buffer, fmt, args);
    va_end(args);

	//LOGF("SYS_Errorf: \n---\n%s\n---\n\n", buffer);

	TPtrC8 ptr3((const unsigned char *)buffer);
	fp.Write(ptr3);

	fp.Close();
	fileServer.Close();

	TBuf<50> title;
	title.Copy(_L("Fatal error!"));

	TBuf<256> text;
	text.Copy(_L("Check the logfile."));	// Copy(ptr3);

	CEikonEnv::Static( )->AlertWin(title, text);

	User::Panic (_L("HView"), TDefaultPanic);

//	RThread().Panic(KDefaultPanic, TDefaultPanic);
}

#else

void DBG_initLogFile(void)
{
}

void LOGF(char *fmt, ... )
{
}

void DBG_shutdownLogFile(void)
{
}

void SYS_ERROR(char *fmt, ... )
{
    char buffer[512] = {0};
	RFs fileServer;
	RFile fp;

	_LIT (fileName, "C:\\hviewDebug.txt");
	

	fileServer.Connect();

	if (!fp.Open(fileServer, fileName, EFileShareAny|EFileWrite))
	{
		int pos = 0;
		fp.Seek(ESeekEnd, pos);
	}
	else
	{
	
		fp.Replace(fileServer, fileName, EFileShareAny|EFileWrite);
	}

	
	TTime aTime;
	
	aTime.HomeTime();
	TBuf<30> dateString;
	_LIT(KDateString1,"%1%2%3 %H:%T:%S :: ");
	aTime.FormatL(dateString,KDateString1);

	TBuf8<128> buf8;
	buf8.Copy(dateString);

	fp.Write(buf8);
	_LIT8(KFatalError, "FATAL ERROR: ");
	fp.Write(KFatalError);

    va_list args;

    va_start(args, fmt);
    vsprintf(buffer, fmt, args);
    va_end(args);


	TPtrC8 ptr((const unsigned char *)buffer);
	fp.Write(ptr);

	fp.Close();
	fileServer.Close();

	User::Panic (_L("HView"), TDefaultPanic);

	//RThread().Panic(_L("HView"), TDefaultPanic);
}

void LOGD(TDesC16 buf16)
{
}

/*
void LOGDC(const TDesC16 buf16)
{
}
*/

void LOGF_noTimeStamp(char *fmt, ... )
{
}


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -