]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTLogging.cxx
- setup scripts for running environment added
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTLogging.cxx
index 0261721f840619c03fa7f161893ac171d52ca71d..2650e6e59354f77d05ea7cd59ca667644c86e7b8 100644 (file)
@@ -5,7 +5,6 @@
  *                                                                        *
  * Authors: Matthias Richter <Matthias.Richter@ift.uib.no>                *
  *          Timm Steinbeck <timm@kip.uni-heidelberg.de>                   *
- *          Artur Szostak <artursz@iafrica.com>                           *
  *          for The ALICE Off-line Project.                               *
  *                                                                        *
  * Permission to use, copy, modify and distribute this software and its   *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// HLT logging tools                                                         //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+/** @file   AliHLTLogging.cxx
+    @author Matthias Richter, Timm Steinbeck
+    @date   
+    @brief  Implementation of HLT logging primitives.
+*/
 
-#if __GNUC__== 3
+#if __GNUC__>= 3
 using namespace std;
 #endif
 
-#include <errno.h>
-//#include <string.h>
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStdIncludes.h"
 #include "AliHLTLogging.h"
-#include <stdarg.h>
-#include <string.h>
 
-ClassImp(AliHLTLogging)
-
-char AliHLTLogging::fLogBuffer[LOG_BUFFER_SIZE]="";
-char AliHLTLogging::fOriginBuffer[LOG_BUFFER_SIZE]="";
+// global logging buffer
+#define LOG_BUFFER_SIZE 100
+char gAliHLTLoggingBuffer[LOG_BUFFER_SIZE]="";
+char gAliHLTLoggingOriginBuffer[LOG_BUFFER_SIZE]="";
 
-AliHLTComponent_LogSeverity AliHLTLogging::fGlobalLogFilter=kHLTLogAll;
-AliHLTfctLogging AliHLTLogging::fLoggingFunc=NULL;
+/** ROOT macro for the implementation of ROOT specific class methods */
+ClassImp(AliHLTLogging)
 
 AliHLTLogging::AliHLTLogging()
+  :
+  //fLocalLogFilter(kHLTLogDefault),
+  fLocalLogFilter(kHLTLogAll),
+  fpDefaultKeyword(NULL),
+  fpCurrentKeyword(NULL)
+{
+}
+
+AliHLTLogging::AliHLTLogging(const AliHLTLogging&)
+  :
+  fLocalLogFilter(kHLTLogAll),
+  fpDefaultKeyword(NULL),
+  fpCurrentKeyword(NULL)
 {
-  fpDefaultKeyword=NULL;
-  fpCurrentKeyword=NULL;
-  //fLocalLogFilter=kHLTLogDefault;
-  fLocalLogFilter=kHLTLogAll;
+  HLTFatal("copy constructor untested");
 }
 
+AliHLTLogging& AliHLTLogging::operator=(const AliHLTLogging&)
+{ 
+  HLTFatal("assignment operator untested");
+  return *this;
+}
+
+AliHLTComponent_LogSeverity AliHLTLogging::fGlobalLogFilter=kHLTLogAll;
+AliHLTfctLogging AliHLTLogging::fLoggingFunc=NULL;
 
 AliHLTLogging::~AliHLTLogging()
 {
@@ -66,6 +79,9 @@ int AliHLTLogging::Init(AliHLTfctLogging pFun)
 
 int AliHLTLogging::Message(void *param, AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* message) {
   int iResult=0;
+  if (param==NULL) {
+    // this is currently just to get rid of the warning "unused parameter"
+  }
   const char* strSeverity="";
   switch (severity) {
   case kHLTLogBenchmark: 
@@ -99,7 +115,7 @@ int AliHLTLogging::Message(void *param, AliHLTComponent_LogSeverity severity, co
 const char* AliHLTLogging::BuildLogString(const char *format, va_list ap) {
   int tgtLen=0;
   int iBufferSize=LOG_BUFFER_SIZE;
-  char* tgtBuffer=fLogBuffer;
+  char* tgtBuffer=gAliHLTLoggingBuffer;
   tgtBuffer[tgtLen]=0;
 
 #if (defined LOG_PREFIX)
@@ -116,7 +132,7 @@ const char* AliHLTLogging::BuildLogString(const char *format, va_list ap) {
       *tgtBuffer=0; // terminate the buffer
     }
   }
-  return fLogBuffer;
+  return gAliHLTLoggingBuffer;
 }
 
 int AliHLTLogging::Logging(AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* format, ... ) {
@@ -133,26 +149,26 @@ int AliHLTLogging::Logging(AliHLTComponent_LogSeverity severity, const char* ori
   return iResult;
 }
 
-int AliHLTLogging::LoggingVarargs( AliHLTComponent_LogSeverity severity, const char* origin_class, const char* origin_func,  ... )
+int AliHLTLogging::LoggingVarargs( AliHLTComponent_LogSeverity severity, const char* origin_class, const char* origin_func,  ... ) const
 {
   int iResult=CheckFilter(severity);
   if (iResult>0) {
     int iMaxSize=LOG_BUFFER_SIZE-1;
     int iPos=0;
     const char* separator="";
-    fOriginBuffer[iPos]=0;
+    gAliHLTLoggingOriginBuffer[iPos]=0;
     if (origin_class) {
       if ((int)strlen(origin_class)<iMaxSize-iPos) {
-       strcpy(&fOriginBuffer[iPos], origin_class);
+       strcpy(&gAliHLTLoggingOriginBuffer[iPos], origin_class);
        iPos+=strlen(origin_class);
        separator="::";
       }
     }
     if (origin_func) {
       if ((int)strlen(origin_func)+(int)strlen(separator)<iMaxSize-iPos) {
-       strcpy(&fOriginBuffer[iPos], separator);
+       strcpy(&gAliHLTLoggingOriginBuffer[iPos], separator);
        iPos+=strlen(separator);
-       strcpy(&fOriginBuffer[iPos], origin_func);
+       strcpy(&gAliHLTLoggingOriginBuffer[iPos], origin_func);
        iPos+=strlen(origin_func);
       }
     }
@@ -166,16 +182,16 @@ int AliHLTLogging::LoggingVarargs( AliHLTComponent_LogSeverity severity, const c
       message=AliHLTLogging::BuildLogString(format, args);
     }
     if (fLoggingFunc) {
-      iResult=(*fLoggingFunc)(NULL/*fParam*/, severity, fOriginBuffer, GetKeyword(), message);
+      iResult=(*fLoggingFunc)(NULL/*fParam*/, severity, gAliHLTLoggingOriginBuffer, GetKeyword(), message);
     } else {
-      iResult=Message(NULL/*fParam*/, severity, fOriginBuffer, GetKeyword(), message);
+      iResult=Message(NULL/*fParam*/, severity, gAliHLTLoggingOriginBuffer, GetKeyword(), message);
     }
     va_end(args);
   }
   return iResult;
 }
 
-int AliHLTLogging::CheckFilter(AliHLTComponent_LogSeverity severity)
+int AliHLTLogging::CheckFilter(AliHLTComponent_LogSeverity severity) const
 {
   int iResult=severity==kHLTLogNone || (severity&fGlobalLogFilter)>0 && (severity&fLocalLogFilter)>0;
   return iResult;