3 #ifndef ALIHLTLOGGING_H
4 #define ALIHLTLOGGING_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
9 the HLT logging methods
13 #include "AliHLTDataTypes.h"
17 #define LOG_BUFFER_SIZE 100 // global logging buffer
18 #define LOG_PREFIX "" // logging prefix, for later extensions
20 #define DebugMsg( ... ) LoggingVarargs(kHLTLogDebug, this->Class_Name() , __func__ , __VA_ARGS__ )
25 virtual ~AliHLTLogging();
27 /* logging filter for all objects
29 static AliHLTComponent_LogSeverity SetGlobalLogLevel(AliHLTComponent_LogSeverity iLogFilter) {fGlobalLogFilter=iLogFilter; return fGlobalLogFilter;}
31 /* logging filter for individual object
33 AliHLTComponent_LogSeverity SetLocalLogLevel(AliHLTComponent_LogSeverity iLogFilter) {fLocalLogFilter=iLogFilter; return fLocalLogFilter;}
35 static int Init(AliHLTfctLogging pFun) { fLoggingFunc=pFun; return 0;}
37 // genaral logging function
39 static int Logging( AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* message, ... );
41 // logging function with two origin parameters, used by the log macros
43 int LoggingVarargs( AliHLTComponent_LogSeverity severity, const char* origin_class, const char* origin_func, ... );
45 // apply filter, return 1 if message should pass
47 int CheckFilter(AliHLTComponent_LogSeverity severity);
49 static int Message(void * param, AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* message);
51 static const char* BuildLogString(const char *format, va_list ap);
53 virtual void* GetParameter() {return NULL;}
57 static AliHLTComponent_LogSeverity fGlobalLogFilter;
58 AliHLTComponent_LogSeverity fLocalLogFilter;
59 static char fLogBuffer[LOG_BUFFER_SIZE];
60 static char fOriginBuffer[LOG_BUFFER_SIZE];
61 static AliHLTfctLogging fLoggingFunc;
63 ClassDef(AliHLTLogging, 0)