예제 #1
0
// ==========================================================================
// METHOD:  WriteFormat
//
// DESIGN:  
// ==========================================================================
void CLogFileHandler::WriteFormat( const TDesC8&               aClassName,
                                   const TDesC8&               aFuncName,
                                   TRefByValue< const TDesC8 > aFmt,
                                   VA_LIST&                    aList ) 
    {
	TDebugLogBase8Overflow overflow8;
	
	iFormatBuffer8.SetLength( 0 );
	iFormatBuffer8.AppendFormatList( aFmt, aList, &overflow8 );

	Write( aClassName, aFuncName, iFormatBuffer8 );

    } // END WriteFormat
void CImMobilityLogger::LogFormat(TInt /*aFilePos*/, VA_LIST& /*aList*/, TRefByValue<const TDesC8> /*aFmt*/)
#endif //__IM_MOBILITY_LOGGING
	{
#ifdef __IM_MOBILITY_LOGGING

	if (iFileList.Count() == 0)
		{
		return;
		}

	if (aFilePos >= iFileList.Count())
		{
		aFilePos = KDefaultLog;
		}

	if ((aFilePos == KDefaultLog) && (iDefaultLogFileInUse == EFalse))
		{
		return;
		}

	if (!iFileList[aFilePos].iLoggingOn)
		{
		return;
		}

	iFile = &iFileList[aFilePos].iFile;

	TPtr8 buf = iLogBuffer->Des();
	buf.Zero();

	TTime date;
	date.UniversalTime();
	TBuf<KDateFormatLength> dateString;
	TRAP_IGNORE(date.FormatL(dateString, KTxtLogDateFormat));
	buf.Copy(dateString);

	buf.AppendFormatList(aFmt, aList, this);
	iFile->Write(buf);
	iFile->Write(KTxtCRLF());

#endif //__IM_MOBILITY_LOGGING
	}