diff -r 86a2e675b80a -r 813b186005b6 hti/HtiCommPlugins/HtiBtCommPlugin/HtiBtCommServer/src/Logger.cpp --- a/hti/HtiCommPlugins/HtiBtCommPlugin/HtiBtCommServer/src/Logger.cpp Mon Jun 28 15:36:07 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Logger implementation. -* -*/ - - -// INCLUDE FILES -#include "Logger.h" -#include - -#ifdef __ENABLE_LOGGING__ - -// CONSTANTS -_LIT(KDebugStr, "DEBUG: "); -_LIT(KInfoStr, "INFO: "); -_LIT(KWarnStr, "WARN: "); -_LIT(KErrStr, "ERROR: "); - - -/*---------------------------------------------------------------------------*/ -void LogBytes( const TDesC8& aData, TInt aMaxBytesToLog ) - { - TInt i = 0; - while ( i < aData.Length() && i < aMaxBytesToLog ) - { - TBuf<64> hexbuf; - TBuf<32> stringbuf; - TInt k=0; - while ( i < aMaxBytesToLog && i < aData.Length() && k < 16 ) - { - const TUint8 uint8 = aData[i]; - hexbuf.AppendFormat( _L( "%02X "), uint8 ); - - if ( uint8 == '%' ) - { - stringbuf.Append( _L( "%%" ) ); // escape character in format string - } - else if ( uint8 < 32 || uint8 > 126 ) - { - stringbuf.Append( _L(".") ); - } - else - { - stringbuf.Append( ( TChar ) uint8 ); - } - i++; - k++; - } - TBuf<128> finalbuf; - finalbuf.Copy( hexbuf ); - finalbuf.Append( _L(" | " ) ); - finalbuf.Append( stringbuf ); - DebugLog( finalbuf ); - } - } - -/*---------------------------------------------------------------------------*/ -class TOverflowHandler : public TDes16Overflow - { - void Overflow( TDes16& aDes ) - { - TBuf logString( _L("LOG ERROR: overflow: ") ); - logString.Append( aDes.Left( - KLogEntryMaxLength - logString.Length() ) ); - aDes.Copy( logString ); - } - }; - -/*---------------------------------------------------------------------------*/ -// Usage example: DOLOG(_L("Logstring")); -void DebugLog( TRefByValue aFmt, ... ) - { - VA_LIST list; - VA_START( list, aFmt ); - Log( KLogLevelDebug, aFmt, list ); - } - -/*---------------------------------------------------------------------------*/ -void InfoLog( TRefByValue aFmt, ... ) - { - VA_LIST list; - VA_START( list, aFmt ); - Log( KLogLevelInfo, aFmt, list ); - } - -/*---------------------------------------------------------------------------*/ -void WarnLog( TRefByValue aFmt, ... ) - { - VA_LIST list; - VA_START( list, aFmt ); - Log( KLogLevelWarning, aFmt, list ); - } - -/*---------------------------------------------------------------------------*/ -void ErrLog( TRefByValue aFmt, ...) - { - VA_LIST list; - VA_START( list, aFmt ); - Log( KLogLevelError, aFmt, list ); - } - -/*---------------------------------------------------------------------------*/ -void Log( TInt aLevel, TRefByValue aText, VA_LIST list ) - { - - if ( aLevel < KMinimumLogLevel ) - return; - - _LIT( KLineFeed, "\n" ); - - /** - * Log time format (see TTime) is - * Day-Month-Year Hours:Minutes:Seconds:Milliseconds - * - * Example: 30-12-2004 23:00:55:990 - */ - _LIT( KLogTimeFormat, "%F%D-%M-%Y %H:%T:%S:%*C3" ); - - TBuf8 writeBuffer; - TBuf16 logEntry; - RFs FileServer; - RFile File; - - if ( FileServer.Connect() != KErrNone ) - { - FileServer.Close(); // just in case - User::Panic( KLogPanicCategory(), KPanicFsConnectFailed ); - return; - } - - // Open file for writing, if exists. Othervise create new file. - if ( File.Open( FileServer, KLogFileName(), EFileWrite ) != KErrNone ) - { - if ( File.Create( FileServer, KLogFileName(), EFileWrite ) - != KErrNone ) - { - FileServer.Close(); - User::Panic( KLogPanicCategory(), KPanicFileCreateFailed ); - } - } - - TTime currentTime; - currentTime.UniversalTime(); - TBuf<32> timeString; - - // currentTime is now in universal time. Convert it to home time. - TLocale locale; - TTimeIntervalSeconds universalTimeOffset( locale.UniversalTimeOffset() ); - TTimeIntervalHours daylightSaving( 0 ); - if ( locale.QueryHomeHasDaylightSavingOn() ) - { - daylightSaving = 1; - } - currentTime = currentTime + universalTimeOffset + daylightSaving; - currentTime.FormatL( timeString, KLogTimeFormat ); - - // Add LogString to the end of file and close the file - TInt currentSize = 0, returnCode; - writeBuffer.Append( timeString ); - writeBuffer.Append( _L(": ") ); - - if ( aLevel < KLogLevelInfo ) - writeBuffer.Append(KDebugStr); - else if ( aLevel < KLogLevelWarning ) - writeBuffer.Append(KInfoStr); - else if ( aLevel < KLogLevelError ) - writeBuffer.Append(KWarnStr); - else - writeBuffer.Append(KErrStr); - - logEntry.AppendFormatList( aText, list ); //, &overFlowHandler ); - writeBuffer.Append( logEntry.Left( - KLogEntryMaxLength - writeBuffer.Length() ) ); - writeBuffer.Append( KLineFeed ); - File.Size( currentSize ); - returnCode = File.Write( currentSize, - writeBuffer, - writeBuffer.Length() ); - File.Close(); - // Close file server session - FileServer.Close(); - - if ( returnCode != KErrNone ) - { - User::Panic( KLogPanicCategory(), KPanicFileWriteFailed ); - } - } - -#endif // __ENABLE_LOGGING__