sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Neil Taylor sl@0: // System Includes sl@0: // sl@0: // sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #include sl@0: sl@0: /******************************************************************************** sl@0: * Externally available test functions sl@0: * TInt CreateTextTest(void) sl@0: * TInt CreateXMLTest(void) sl@0: * TInt AppendXMLTest(void) sl@0: ********************************************************************************/ sl@0: sl@0: static TInt WriteTextTest(RFileFlogger& logger); sl@0: static TInt LogLevelTest(RFileFlogger& logger); sl@0: static TInt LogAdditionalFieldsTest(RFileFlogger& logger); sl@0: sl@0: TInt CreateTextTest(void) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: RFileFlogger logger; sl@0: sl@0: err = logger.Connect( ); sl@0: err = logger.CreateLog( _L("C:\\logs\\logger.txt"), RFileFlogger::ELogModeOverWrite ); sl@0: sl@0: WriteTextTest( logger ); sl@0: LogLevelTest( logger ); sl@0: LogAdditionalFieldsTest( logger ); sl@0: sl@0: logger.Close( ); sl@0: sl@0: return ( err ); sl@0: } sl@0: sl@0: TInt CreateXMLTest(void) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: RFileFlogger logger; sl@0: sl@0: err = logger.Connect( ); sl@0: err = logger.CreateLog( _L("C:\\logger.xml"), RFileFlogger::ELogModeOverWrite ); sl@0: sl@0: WriteTextTest( logger ); sl@0: LogLevelTest( logger ); sl@0: LogAdditionalFieldsTest( logger ); sl@0: sl@0: logger.Close( ); sl@0: sl@0: return ( err ); sl@0: } sl@0: sl@0: TInt AppendXMLTest(void) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: RFileFlogger logger; sl@0: sl@0: err = logger.Connect( ); sl@0: err = logger.CreateLog( _L("C:\\logger.xml"), RFileFlogger::ELogModeAppend ); sl@0: sl@0: WriteTextTest( logger ); sl@0: sl@0: logger.Close( ); sl@0: sl@0: return ( err ); sl@0: } sl@0: sl@0: TInt WriteTextTest(RFileFlogger& logger) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: logger.Log( ((TText8*)(__FILE__)), __LINE__, RFileFlogger::ESevrWarn, _L("This is a warning.") ); sl@0: sl@0: return ( err ); sl@0: } sl@0: sl@0: TInt LogLevelTest(RFileFlogger& logger) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: logger.SetLogLevel( RFileFlogger::ESevrAll ); sl@0: logger.Log( ((TText8*)(__FILE__)), __LINE__, RFileFlogger::ESevrInfo, _L("This is the first info log.") ); sl@0: logger.SetLogLevel( RFileFlogger::ESevrErr ); sl@0: logger.Log( ((TText8*)(__FILE__)), __LINE__, RFileFlogger::ESevrInfo, _L("This is the second info log.") ); sl@0: logger.SetLogLevel( RFileFlogger::ESevrAll ); sl@0: logger.Log( ((TText8*)(__FILE__)), __LINE__, RFileFlogger::ESevrInfo, _L("This is the third info log.") ); sl@0: sl@0: return ( err ); sl@0: } sl@0: sl@0: TInt LogAdditionalFieldsTest(RFileFlogger& logger) sl@0: { sl@0: TInt err = KErrNone; sl@0: sl@0: TExtraLogField fields[2]; sl@0: sl@0: fields[0].iLogFieldName = _L("Animal"); sl@0: fields[0].iLogFieldValue = _L("Rabbit"); sl@0: fields[1].iLogFieldName = _L("City"); sl@0: fields[1].iLogFieldValue = _L("London"); sl@0: sl@0: logger.Log( ((TText8*)(__FILE__)), __LINE__, RFileFlogger::ESevrInfo, 2, fields, _L("This is %d fields."), 2 ); sl@0: sl@0: return ( err ); sl@0: } sl@0: