1 /***************************************************************************
3 * Copyright (C) Lakshya Solutions Ltd. All rights reserved. *
5 ***************************************************************************/
13 extern int DebugDM_Alloc
;
14 extern int DebugDM_VarAlloc
;
15 extern int DebugDM_Mutex
;
16 extern int DebugDM_Lock
;
17 extern int DebugDM_Transaction
;
18 extern int DebugDM_UndoLog
;
19 extern int DebugDM_RedoLog
;
20 extern int DebugDM_Recovery
;
21 extern int DebugDM_Index
;
22 extern int DebugDM_HashIndex
;
23 extern int DebugDM_TreeIndex
;
24 extern int DebugDM_TrieIndex
;
25 extern int DebugDM_SystemDatabase
;
26 extern int DebugDM_Database
;
27 extern int DebugDM_Table
;
28 extern int DebugDM_Predicate
;
29 extern int DebugDM_Iterator
;
30 extern int DebugDM_Process
;
31 extern int DebugDM_Network
;
32 extern int DebugDM_Gateway
;
33 extern int DebugDM_Adapter
;
34 extern int DebugDM_SqlLog
;
35 extern int DebugDM_CacheServer
;
36 extern int DebugDM_TEST
;
37 extern int DebugDM_Warning
;
39 int printStackTrace();
41 DllExport
int printError1(DbRetVal val
, char* fname
, int lno
, char *format
, ...);
43 extern int printError1(DbRetVal val
, char* fname
, int lno
, char *format
, ...);
45 #define printError(a, ...) printError1(a, __FILE__, __LINE__, __VA_ARGS__)
75 static char moduleNames
[][20] =
77 "Alloc", "VariableAlloc", "Mutex", "Lock", "Trans", "UndoLog", "RedoLog", "Recovery", "Index",
78 "HashIndex", "TreeIndex", "TrieIndex", "SysDb", "Db", "Table", "Predicate", "Iter",
79 "Procmgmt", "Network", "Gateway", "Adapter", "SqlLog",
80 "CacheServer", "TEST", "Warning"
83 DllExport
int printDebug1(int module
, char* fname
, int lno
, char *format
, ...);
85 extern int printDebug1(int module
, char *fname
, int lineno
, char *format
, ...);
89 #define printDebug(a, ...) printDebug1(a, __FILE__, __LINE__, __VA_ARGS__)
91 #define printDebug(...) ;
96 #define MAX_TRACE_LOG_LENGTH 1024
106 static char levelNames
[][10] =
108 "OFF", "FINE", "FINER", "FINEST"
111 class DllExport Logger
113 int fdLog
; //file descriptor
114 LogLevel configLevel
; //configuration file setting is cached here.
115 void rollOverIfRequired();
117 int log(LogLevel level
, char* filename
, int lineNo
, char *format
, ...);
118 int createLogRecord(LogLevel level
, char* filename
, int lineNo
, char* message
, char **in
);
119 DbRetVal
startLogger(char *filename
, bool isCreate
= false);
123 #define logFinest(logger, ...) \
125 (logger).log(LogFinest, __FILE__, __LINE__, __VA_ARGS__);\
128 #define logFiner(logger, ...) \
130 (logger).log(LogFiner, __FILE__, __LINE__, __VA_ARGS__);\
133 #define logFine(logger, ...) \
135 (logger).log(LogFine, __FILE__, __LINE__, __VA_ARGS__);\