applayerprotocols/httptransportfw/inc/framework/logging.h
changeset 0 b16258d2340f
equal deleted inserted replaced
-1:000000000000 0:b16258d2340f
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file logging.h
       
    18  @publishedPartner
       
    19  @released
       
    20 */
       
    21 
       
    22 #ifndef __LOGGING_H__
       
    23 #define __LOGGING_H__
       
    24 
       
    25 // System includes
       
    26 #include <e32std.h>
       
    27 #include <f32file.h>
       
    28 #include <flogger.h>
       
    29 
       
    30 // By default, logging will always be switched on.  Later, this may be removed, leaving it to individual
       
    31 // source files to enable logging where needed.
       
    32 #define _LOGGING
       
    33 
       
    34 #if defined (_DEBUG) && defined (_LOGGING)
       
    35 
       
    36 // HTTP Logging macros
       
    37 #define __FLOG_DECLARATION_MEMBER		RFileLogger __logger__
       
    38 #define __FLOG_DECLARATION_MEMBER2       RFileLogger __logger__;
       
    39 #define __FLOG_OPEN(subsys,compnt) if( __logger__.Connect() == KErrNone ) \
       
    40 										{ \
       
    41 										TParse p; \
       
    42 										_LIT(KLogFile, compnt); \
       
    43 										p.Set(KLogFile(), NULL, NULL); \
       
    44 										_LIT(KLogDir, subsys); \
       
    45 										__logger__.CreateLog(KLogDir(), p.NameAndExt(), EFileLoggingModeOverwrite); \
       
    46 										__logger__.SetDateAndTime(ETrue, ETrue);\
       
    47 										} 
       
    48 #define __FLOG_CLOSE					__logger__.Close()
       
    49 
       
    50 #define __FLOG_0(text)						__logger__.Write(text)
       
    51 #define __FLOG_1(text,a)					__logger__.WriteFormat(text,a)
       
    52 #define __FLOG_2(text,a,b)					__logger__.WriteFormat(text,a,b)
       
    53 #define __FLOG_3(text,a,b,c)				__logger__.WriteFormat(text,a,b,c)
       
    54 #define __FLOG_4(text,a,b,c,d)				__logger__.WriteFormat(text,a,b,c,d)
       
    55 #define __FLOG_5(text,a,b,c,d,e)			__logger__.WriteFormat(text,a,b,c,d,e)
       
    56 #define __FLOG_6(text,a,b,c,d,e,f)			__logger__.WriteFormat(text,a,b,c,d,e,f)
       
    57 #define __FLOG_7(text,a,b,c,d,e,f,g)		__logger__.WriteFormat(text,a,b,c,d,e,f,g)
       
    58 #define __FLOG_8(text,a,b,c,d,e,f,g,h)		__logger__.WriteFormat(text,a,b,c,d,e,f,g,h)
       
    59 #define __FLOG_9(text,a,b,c,d,e,f,g,h,i)	__logger__.WriteFormat(text,a,b,c,d,e,f,g,h,i)
       
    60 #define __FLOG(text)						__logger__.Write(text)
       
    61 #define __FLOG_VA(fmt, va_list)				__logger__.Write(fmt, va_list)
       
    62 #define __FLOG_HEXDUMP(data,length)			__logger__.HexDump(0,0,data,length)
       
    63 
       
    64 #define	_T8(text)							TPtrC8((const TText8 *)(text))
       
    65 
       
    66 #elif !defined (_DEBUG)
       
    67 
       
    68 // NULL macros
       
    69 #define __FLOG_DECLARATION_MEMBER		TUint8 iDummyLoggerNotUsed[sizeof(RFileLogger)]
       
    70 #define __FLOG_DECLARATION_MEMBER2            
       
    71 #define __FLOG_OPEN(subsys,compnt)		
       
    72 #define __FLOG_CLOSE
       
    73 
       
    74 #define __FLOG_0(text)						
       
    75 #define __FLOG_1(text,a)					
       
    76 #define __FLOG_2(text,a,b)					
       
    77 #define __FLOG_3(text,a,b,c)				
       
    78 #define __FLOG_4(text,a,b,c,d)				
       
    79 #define __FLOG_5(text,a,b,c,d,e)			
       
    80 #define __FLOG_6(text,a,b,c,d,e,f)			
       
    81 #define __FLOG_7(text,a,b,c,d,e,f,g)		
       
    82 #define __FLOG_8(text,a,b,c,d,e,f,g,h)		
       
    83 #define __FLOG_9(text,a,b,c,d,e,f,g,h,i)	
       
    84 #define __FLOG(text)						
       
    85 #define __FLOG_VA(fmt, va_list)				
       
    86 #define __FLOG_HEXDUMP(data,length)
       
    87 
       
    88 #define	_T8(text)
       
    89 
       
    90 #endif // !_DEBUG
       
    91 
       
    92 #endif // __LOGGING_H__