📄 dbg_logf.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 + -