hti/HtiCommPlugins/HtiBtCommPlugin/BtEngine/inc/HtiBtEngineLogging.h
branchRCL_3
changeset 59 8ad140f3dd41
parent 0 a03f92240627
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hti/HtiCommPlugins/HtiBtCommPlugin/BtEngine/inc/HtiBtEngineLogging.h	Wed Oct 13 16:17:58 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* 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:  Logging for Bluetooth engine.
+*
+*/
+
+
+#ifndef __HTIBTENGINELOGGING_H__
+#define __HTIBTENGINELOGGING_H__
+
+// INCLUDES
+#include <flogger.h>
+
+/******************************************************/
+/**     LOG SETUP                                    **/
+/******************************************************/
+_LIT(KLogFolder, "Hti");
+_LIT(KLogFile, "BtSerialEngine.log");
+
+#ifdef __ENABLE_LOGGING__
+// Comment out the levels which are marked supported in the build
+// (and which are used runtime).
+//
+#define LOG_LEVEL_ERROR_SUPPORTED
+#define LOG_LEVEL_WARN_SUPPORTED
+#define LOG_LEVEL_INFO_SUPPORTED
+//#define LOG_LEVEL_DEBUG_SUPPORTED
+#endif
+
+/******************************************************/
+/**     MACRO DEFINITIONS                            **/
+/******************************************************/
+
+// Macros:                            Example:                                 Result:
+// LOGFMT_E(formatstring, parameter)  LOGFMT_E("Leave in RunL: %d", -6)        <TIME> ERROR: Leave in RunL: -6
+// LOG_E(string)                      LOG_E("There was an error")              <TIME> ERROR: There was an error
+// LOGFMT_W(formatstring, parameter)  LOGFMT_W("Buffer too small: %d", 12)     <TIME> WARNING: Buffer too small: 12
+// LOG_W(string)                      LOG_W("warmingtext")                     <TIME> WARNING: warningtext
+// LOGFMT_I(formatstring, parameter)  LOGFMT_I("plugin loaded: %S", &myDescr8) <TIME> INFO: plugin loaded: myplugin
+// LOG_I(string)                      LOG_I("abc")                             <TIME> INFO: abc
+// LOGFMT_D(formatstring, parameter)  LOGFMT_D("buffer length: %d", 56)        <TIME> DEBUG: buffer length: 56
+// LOG_D(string)                      LOG_D("abc")                             <TIME> DEBUG: abc
+
+#define ERRORSTR "ERROR: "
+#define WARNSTR  "WARNING: "
+#define INFOSTR  "INFO: "
+#define DEBUGSTR "DEBUG: "
+
+#ifdef LOG_LEVEL_ERROR_SUPPORTED
+    #define LOGFMT_E(a1, a2) {_LIT8(temp, ERRORSTR##a1); RFileLogger::WriteFormat(KLogFolder, KLogFile, EFileLoggingModeAppend, temp, a2);}
+    #define LOG_E(a1) {_LIT8(temp, ERRORSTR##a1); RFileLogger::Write(KLogFolder, KLogFile, EFileLoggingModeAppend, temp);}
+#else
+    #define LOGFMT_E(a1, a2) {}
+    #define LOG_E(a1) {}
+#endif
+
+#ifdef LOG_LEVEL_WARN_SUPPORTED
+    #define LOGFMT_W(a1, a2) {_LIT8(temp, WARNSTR##a1); RFileLogger::WriteFormat(KLogFolder, KLogFile, EFileLoggingModeAppend, temp, a2);}
+    #define LOG_W(a1) {_LIT8(temp, WARNSTR##a1); RFileLogger::Write(KLogFolder, KLogFile, EFileLoggingModeAppend, temp);}
+#else
+    #define LOGFMT_W(a1, a2) {}
+    #define LOG_W(a1) {}
+#endif
+
+#ifdef LOG_LEVEL_INFO_SUPPORTED
+    #define LOGFMT_I(a1, a2) {_LIT8(temp, INFOSTR##a1); RFileLogger::WriteFormat(KLogFolder, KLogFile, EFileLoggingModeAppend, temp, a2);}
+    #define LOG_I(a1) {_LIT8(temp, INFOSTR##a1); RFileLogger::Write(KLogFolder, KLogFile, EFileLoggingModeAppend, temp);}
+#else
+    #define LOGFMT_I(a1, a2) {}
+    #define LOG_I(a1) {}
+#endif
+
+#ifdef LOG_LEVEL_DEBUG_SUPPORTED
+    #define LOGFMT_D(a1, a2) {_LIT8(temp, DEBUGSTR##a1); RFileLogger::WriteFormat(KLogFolder, KLogFile, EFileLoggingModeAppend, temp, a2);}
+    #define LOG_D(a1) {_LIT8(temp, DEBUGSTR##a1); RFileLogger::Write(KLogFolder, KLogFile, EFileLoggingModeAppend, temp);}
+#else
+    #define LOGFMT_D(a1, a2) {}
+    #define LOG_D(a1) {}
+#endif
+
+#endif // __HTIBTENGINELOGGING_H__