void winLog::reset(const char* title) { const char *t = (title) ? title : FUNAMBOL_HEADER; StringBuffer currentTime = createCurrentTime(true); logFile = _wfopen(wlogDir.c_str(), TEXT("w+")); if (logFile) { fprintf(logFile, "%s - # %s\n\n", currentTime.c_str(), t); fclose(logFile); } }
void SymbianLog::printMessage(const char* level, const char* msg, PLATFORM_VA_LIST argList) { iSemaphore.Wait(); StringBuffer currentTime = createCurrentTime(true); TInt err = file.Open(fsSession, iLogName, EFileWrite|EFileShareAny); TInt pos = 0; if (err == KErrNotFound) { // First time: file does not exist. Create it. err = file.Create(fsSession, iLogName, EFileWrite|EFileShareAny); if (err != KErrNone) { setErrorF(err, "SymbianLog: could not open log file (code %d)", err); goto finally; } StringBuffer header = createHeader(); RBuf8 data; data.Assign(stringBufferToNewBuf8(header)); file.Write(data); data.Close(); } else { err = file.Seek(ESeekEnd, pos); if (err != KErrNone) { setErrorF(err, "SymbianLog: seek error on log file (code %d)", err); goto finally; } } { // Write the data StringBuffer line, data; line.sprintf("%s -%s- %s", currentTime.c_str(), level, msg); data.vsprintf(line.c_str(), argList); data.append("\n"); RBuf8 buf; buf.Assign(stringBufferToNewBuf8(data)); file.Write(buf); buf.Close(); } finally: file.Close(); // we need closed file to operate on it if ( LogSize() > SYMBIAN_LOG_SIZE ){ // roll log file RollLogFile(); } iSemaphore.Signal(); }
void winLog::printMessage(const char* level, const char* msg, va_list argList) { StringBuffer currentTime = createCurrentTime(false); logFile = _wfopen(wlogDir.c_str(), TEXT("a+")); if (logFile) { fprintf(logFile, "%s [%s] - ", currentTime.c_str(), level); vfprintf(logFile, msg, argList); fprintf(logFile, "\n"); fclose(logFile); } }
StringBuffer SymbianLog::createHeader(const char* title) { const char *t = (title)? title : SYMBIAN_LOG_HEADER; StringBuffer header = createCurrentTime(true); // e.g. "2008/04/02 10:58:03 GMT +2:00" header += " - "; header += t; header += "\n"; return header; }