\section{Ali\-HLTLogging Class Reference}
\label{classAliHLTLogging}\index{AliHLTLogging@{AliHLTLogging}}
{\tt \#include $<$Ali\-HLTLogging.h$>$}

Inheritance diagram for Ali\-HLTLogging::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=11cm]{classAliHLTLogging}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef int($\ast$ {\bf Ali\-HLTDynamic\-Message} )({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line, const char $\ast$message)
\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
typedef int($\ast$ {\bf Init\-Ali\-Dynamic\-Message\-Callback} )()
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Ali\-HLTLogging} ()
\item 
{\bf Ali\-HLTLogging} (const {\bf Ali\-HLTLogging} \&)
\item 
{\bf Ali\-HLTLogging} \& {\bf operator=} (const {\bf Ali\-HLTLogging} \&)
\item 
virtual {\bf $\sim$Ali\-HLTLogging} ()
\item 
void {\bf Set\-Default\-Keyword} (const char $\ast$keyword)
\item 
const char $\ast$ {\bf Set\-Keyword} (const char $\ast$keyword)
\item 
const char $\ast$ {\bf Get\-Keyword} () const 
\item 
int {\bf Logging} ({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message,...)
\item 
int {\bf Logging\-Varargs} ({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line,...) const 
\item 
int {\bf Check\-Filter} ({\bf Ali\-HLTComponent\-Log\-Severity} severity) const 
\item 
void {\bf Set\-Local\-Logging\-Level} ({\bf Ali\-HLTComponent\-Log\-Severity} level)
\item 
{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Get\-Local\-Logging\-Level} ()
\item 
virtual void $\ast$ {\bf Get\-Parameter} () const 
\item 
void {\bf Switch\-Ali\-Log} (int sw)
\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
int {\bf Init} ({\bf Ali\-HLTfct\-Logging} p\-Fun)
\item 
int {\bf Init\-Ali\-Log\-Trap} ({\bf Ali\-HLTComponent\-Handler} $\ast$p\-Handler)
\item 
void {\bf Set\-Global\-Logging\-Level} ({\bf Ali\-HLTComponent\-Log\-Severity} level)
\item 
{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Get\-Global\-Logging\-Level} ()
\item 
int {\bf Message} (void $\ast$param, {\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message)
\item 
const char $\ast$ {\bf Build\-Log\-String} (const char $\ast$format, va\_\-list ap)
\end{CompactItemize}
\subsection*{Static Public Attributes}
\begin{CompactItemize}
\item 
ostringstream {\bf fg\-Logstr}
\end{CompactItemize}
\subsection*{Static Protected Attributes}
\begin{CompactItemize}
\item 
{\bf Ali\-HLTDynamic\-Message} {\bf fg\-Ali\-Logging\-Func} = NULL
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf Ali\-HLTComponent\-Log\-Severity} {\bf f\-Local\-Log\-Filter}
\item 
const char $\ast$ {\bf fp\-Default\-Keyword}
\item 
const char $\ast$ {\bf fp\-Current\-Keyword}
\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Private Attributes}
\begin{CompactItemize}
\item 
{\bf Ali\-HLTComponent\-Log\-Severity} {\bf fg\-Global\-Log\-Filter} = k\-HLTLog\-All
\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
{\bf Ali\-HLTfct\-Logging} {\bf fg\-Logging\-Func} = NULL
\item 
int {\bf fg\-Use\-Ali\-Log} = 1
\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
TArray\-C {\bf fg\-Ali\-HLTLogging\-Target}
\item 
const int {\bf fgk\-ALIHLTLOGGINGMAXBUFFERSIZE} = 10000
\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}


\subsection{Member Typedef Documentation}
\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTDynamicMessage@{AliHLTDynamicMessage}}
\index{AliHLTDynamicMessage@{AliHLTDynamicMessage}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf Ali\-HLTLogging::Ali\-HLTDynamic\-Message})({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line, const char $\ast$message)}\label{classAliHLTLogging_w0}


transient 

The message function for dynamic use. In order to avoid dependencies on Ali\-Root libraries, lib\-HLTbase loads the library dynamically and looks for the symbol. 

Definition at line 178 of file Ali\-HLTLogging.h.\index{AliHLTLogging@{Ali\-HLTLogging}!InitAliDynamicMessageCallback@{InitAliDynamicMessageCallback}}
\index{InitAliDynamicMessageCallback@{InitAliDynamicMessageCallback}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf Ali\-HLTLogging::Init\-Ali\-Dynamic\-Message\-Callback})()}\label{classAliHLTLogging_w1}


The init function of the message callback for dynamic use. In order to avoid dependencies on Ali\-Root libraries, lib\-HLTbase loads the library dynamically and looks for the symbol. 

Definition at line 189 of file Ali\-HLTLogging.h.

Referenced by Init\-Ali\-Log\-Trap().

\subsection{Constructor \& Destructor Documentation}
\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTLogging@{AliHLTLogging}}
\index{AliHLTLogging@{AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::Ali\-HLTLogging ()}\label{classAliHLTLogging_a0}




Definition at line 41 of file Ali\-HLTLogging.cxx.

References k\-HLTLog\-All.

\footnotesize\begin{verbatim}42   :
43   //fLocalLogFilter(kHLTLogDefault),
44   fLocalLogFilter(kHLTLogAll),
45   fpDefaultKeyword(NULL),
46   fpCurrentKeyword(NULL)
47 {
48   // see header file for class documentation
49   // or
50   // refer to README to build package
51   // or
52   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
53 }

\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTLogging@{AliHLTLogging}}
\index{AliHLTLogging@{AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::Ali\-HLTLogging (const {\bf Ali\-HLTLogging} \&)}\label{classAliHLTLogging_a1}




Definition at line 55 of file Ali\-HLTLogging.cxx.

References HLTFatal, and k\-HLTLog\-All.

\footnotesize\begin{verbatim}56   :
57   fLocalLogFilter(kHLTLogAll),
58   fpDefaultKeyword(NULL),
59   fpCurrentKeyword(NULL)
60 {
61   // see header file for class documentation
62   HLTFatal("copy constructor untested");
63 }

\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!~AliHLTLogging@{$\sim$AliHLTLogging}}
\index{~AliHLTLogging@{$\sim$AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::$\sim${\bf Ali\-HLTLogging} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTLogging_a3}




Definition at line 78 of file Ali\-HLTLogging.cxx.

\footnotesize\begin{verbatim}79 {
80   // see header file for class documentation
81 }
\end{verbatim}\normalsize 




\subsection{Member Function Documentation}
\index{AliHLTLogging@{Ali\-HLTLogging}!BuildLogString@{BuildLogString}}
\index{BuildLogString@{BuildLogString}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTLogging::Build\-Log\-String (const char $\ast$ {\em format}, va\_\-list {\em ap})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e5}


Build the log string from format specifier and variadac arguments \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em format}]format string of printf style \item[{\em ap}]opened and initialized argument list \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]const char string with the formatted message \end{Desc}


Definition at line 200 of file Ali\-HLTLogging.cxx.

References fg\-Ali\-HLTLogging\-Target.

Referenced by Logging(), and Logging\-Varargs().

\footnotesize\begin{verbatim}201 {
202   // see header file for class documentation
203 
204   int iResult=0;
205 #ifdef R__VA_COPY
206   va_list bap;
207   R__VA_COPY(bap, ap);
208 #endif //R__VA_COPY
209 
210   // take the first argument from the list as format string if no
211   // format was given
212   const char* fmt = format;
213   if (fmt==NULL) fmt=va_arg(ap, const char*);
214 
215   fgAliHLTLoggingTarget[0]=0;
216   while (fmt!=NULL) {
217     iResult=vsnprintf(fgAliHLTLoggingTarget.GetArray(), fgAliHLTLoggingTarget.GetSize(), fmt, ap);
218     if (iResult==-1)
219       // for compatibility with older version of vsnprintf
220       iResult=fgAliHLTLoggingTarget.GetSize()*2;
221     else if (iResult<fgAliHLTLoggingTarget.GetSize())
222       break;
223 
224     // terminate if buffer is already at the limit
225     if (fgAliHLTLoggingTarget.GetSize()>=fgkALIHLTLOGGINGMAXBUFFERSIZE) 
226     {
227       fgAliHLTLoggingTarget[fgAliHLTLoggingTarget.GetSize()-1]=0;
228       break;
229     }
230 
231     // check limitation and grow the buffer
232     if (iResult>fgkALIHLTLOGGINGMAXBUFFERSIZE) iResult=fgkALIHLTLOGGINGMAXBUFFERSIZE;
233     fgAliHLTLoggingTarget.Set(iResult+1);
234 
235     // copy the original list and skip the first argument if this was the format string
236 #ifdef R__VA_COPY
237     va_end(ap);
238     R__VA_COPY(ap, bap);
239 #else
240     fgAliHLTLoggingTarget[fgAliHLTLoggingTarget.GetSize()-1]=0;
241     break;
242 #endif //R__VA_COPY
243     if (format==NULL) va_arg(ap, const char*);
244   }     
245 #ifdef R__VA_COPY
246   va_end(bap);
247 #endif //R__VA_COPY
248 
249   return fgAliHLTLoggingTarget.GetArray();
250 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!CheckFilter@{CheckFilter}}
\index{CheckFilter@{CheckFilter}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Check\-Filter ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}) const}\label{classAliHLTLogging_a9}


Apply filter \begin{Desc}
\item[Returns:]1 if message should pass \end{Desc}


Definition at line 311 of file Ali\-HLTLogging.cxx.

References k\-HLTLog\-None.

Referenced by Ali\-HLTSystem::Configure(), Logging(), and Logging\-Varargs().

\footnotesize\begin{verbatim}312 {
313   // see header file for class documentation
314 
315   int iResult=severity==kHLTLogNone || (severity&fgGlobalLogFilter)>0 && (severity&fLocalLogFilter)>0;
316   return iResult;
317 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!GetGlobalLoggingLevel@{GetGlobalLoggingLevel}}
\index{GetGlobalLoggingLevel@{GetGlobalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} Ali\-HLTLogging::Get\-Global\-Logging\-Level ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e3}


Get global logging level logging filter for all objects 

Definition at line 326 of file Ali\-HLTLogging.cxx.

References Ali\-HLTComponent\-Log\-Severity.

\footnotesize\begin{verbatim}327 {
328   // see header file for class documentation
329 
330   return fgGlobalLogFilter;
331 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!GetKeyword@{GetKeyword}}
\index{GetKeyword@{GetKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTLogging::Get\-Keyword () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a6}


Get the current keyword 

Definition at line 75 of file Ali\-HLTLogging.h.

Referenced by Logging\-Varargs().

\footnotesize\begin{verbatim}76     {
77       if (fpCurrentKeyword) return fpCurrentKeyword;
78       else if (fpDefaultKeyword) return fpDefaultKeyword;
79       return HLT_DEFAULT_LOG_KEYWORD;
80     }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!GetLocalLoggingLevel@{GetLocalLoggingLevel}}
\index{GetLocalLoggingLevel@{GetLocalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} Ali\-HLTLogging::Get\-Local\-Logging\-Level ()}\label{classAliHLTLogging_a11}


Get local logging level logging filter for individual object 

Definition at line 341 of file Ali\-HLTLogging.cxx.

References Ali\-HLTComponent\-Log\-Severity.

Referenced by Init\-Ali\-Log\-Trap().

\footnotesize\begin{verbatim}342 {
343   // see header file for class documentation
344 
345   return fLocalLogFilter;
346 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!GetParameter@{GetParameter}}
\index{GetParameter@{GetParameter}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void$\ast$ Ali\-HLTLogging::Get\-Parameter () const\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTLogging_a12}


Get parameter given by the external caller. This functionality is not yet implemented. It is intended to pass the parameter pointer given to the component at initialization back to the caller. 

Definition at line 162 of file Ali\-HLTLogging.h.

\footnotesize\begin{verbatim}162 {return NULL;}
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!Init@{Init}}
\index{Init@{Init}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Init ({\bf Ali\-HLTfct\-Logging} {\em p\-Fun})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e0}


Init the Ali\-Logging class for use from external package. This initializes the logging callback. \par
 Only deployed by external users of the C wrapper interface, not used when running in Ali\-Root 

Definition at line 88 of file Ali\-HLTLogging.cxx.

References fg\-Logging\-Func.

Referenced by Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler(), and Ali\-HLTComponent\-Handler::Set\-Environment().

\footnotesize\begin{verbatim}89 {
90   // see header file for class documentation
91   if (fgLoggingFunc!=NULL && fgLoggingFunc!=pFun) {
92     (*fgLoggingFunc)(NULL/*fParam*/, kHLTLogWarning, "AliHLTLogging::Init", "no key", "overriding previously initialized logging function");    
93   }
94   fgLoggingFunc=pFun;
95   
96   return 0;
97 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!InitAliLogTrap@{InitAliLogTrap}}
\index{InitAliLogTrap@{InitAliLogTrap}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Init\-Ali\-Log\-Trap ({\bf Ali\-HLTComponent\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e1}


Init the message trap in Ali\-Log. This initializes the Ali\-Log trap, the Ali\-Log class is the logging mechanism of Ali\-Root. The trap can fetch log messages written to Ali\-Log, components and detector algorithms can use the Ali\-Log mechanism to be as close as possible to Offline habits. \par
 Only used with external users of the C wrapper interface, not used when running in Ali\-Root 

Definition at line 99 of file Ali\-HLTLogging.cxx.

References Ali\-HLTComponent\-Log\-Severity, Ali\-HLTComponent\-Handler::Find\-Symbol(), Get\-Local\-Logging\-Level(), Init\-Ali\-Dynamic\-Message\-Callback, k\-HLTLog\-Error, Ali\-HLTComponent\-Handler::Load\-Library(), Message(), and Set\-Local\-Logging\-Level().

Referenced by Ali\-HLT\_\-C\_\-Component\_\-Init\-System().

\footnotesize\begin{verbatim}100 {
101   // see header file for class documentation
102   int iResult=0;
103   if (pHandler) {
104     AliHLTComponentLogSeverity loglevel=pHandler->GetLocalLoggingLevel();
105     pHandler->SetLocalLoggingLevel(kHLTLogError);
106     pHandler->LoadLibrary("libAliHLTUtil.so");
107     pHandler->SetLocalLoggingLevel(loglevel);
108     InitAliDynamicMessageCallback pFunc=(InitAliDynamicMessageCallback)pHandler->FindSymbol("libAliHLTUtil.so", "InitAliDynamicMessageCallback"); 
109     if (pFunc) {
110       iResult=(*pFunc)();
111     } else {
112       Message(NULL, kHLTLogError, "AliHLTLogging::InitAliLogTrap", "init logging",
113               "can not initialize AliLog callback");
114       iResult=-ENOSYS;
115     }
116   } else {
117     iResult=-EINVAL;
118   }
119   
120   return iResult;
121 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!Logging@{Logging}}
\index{Logging@{Logging}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Logging ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin}, const char $\ast$ {\em keyword}, const char $\ast$ {\em message},  {\em ...})}\label{classAliHLTLogging_a7}


Genaral logging function 

Definition at line 252 of file Ali\-HLTLogging.cxx.

References Build\-Log\-String(), Check\-Filter(), fg\-Ali\-Logging\-Func, fg\-Use\-Ali\-Log, and Message().

Referenced by Ali\-HLTData\-Buffer::Create\-Raw\-Buffer(), Ali\-HLTData\-Buffer::Delete\-Raw\-Buffers(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Deinit(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Deinit(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Deinit(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Deinit(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Deinit(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Init(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Init(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Init(), Ali\-HLTConfiguration::Global\-Deinit(), Ali\-HLTConfiguration::Global\-Init(), Ali\-HLTModule\-Agent::Print\-Status(), Ali\-HLTModule\-Agent::Register(), Ali\-HLTData\-Buffer::Release\-Raw\-Buffer(), and Ali\-HLTModule\-Agent::Unregister().

\footnotesize\begin{verbatim}255 {
256   // see header file for class documentation
257   int iResult=CheckFilter(severity);
258   if (iResult>0) {
259     va_list args;
260     va_start(args, format);
261     if (fgLoggingFunc) {
262       iResult = (*fgLoggingFunc)(NULL/*fParam*/, severity, origin, keyword, AliHLTLogging::BuildLogString(format, args ));
263     } else {
264       if (fgUseAliLog!=0 && fgAliLoggingFunc!=NULL)
265         iResult=(*fgAliLoggingFunc)(severity, NULL, origin, NULL, 0, AliHLTLogging::BuildLogString(format, args ));
266       else
267         iResult=Message(NULL/*fParam*/, severity, origin, keyword, AliHLTLogging::BuildLogString(format, args ));
268     }
269     va_end(args);
270   }
271   return iResult;
272 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!LoggingVarargs@{LoggingVarargs}}
\index{LoggingVarargs@{LoggingVarargs}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Logging\-Varargs ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin\-Class}, const char $\ast$ {\em origin\-Func}, const char $\ast$ {\em file}, int {\em line},  {\em ...}) const}\label{classAliHLTLogging_a8}




Definition at line 274 of file Ali\-HLTLogging.cxx.

References Build\-Log\-String(), Check\-Filter(), fg\-Ali\-Logging\-Func, fg\-Use\-Ali\-Log, Get\-Keyword(), and Message().

Referenced by Ali\-HLTOffline\-Interface::Set\-Params\-To\-Components().

\footnotesize\begin{verbatim}277 {
278   // see header file for class documentation
279 
280   if (file==NULL && line==0) {
281     // this is currently just to get rid of the warning "unused parameter"
282   }
283   int iResult=CheckFilter(severity);
284   if (iResult>0) {
285     const char* separator="";
286     TString origin;
287     if (originClass) {
288         origin+=originClass;
289         separator="::";
290     }
291     if (originFunc) {
292         origin+=separator;
293         origin+=originFunc;
294     }
295     va_list args;
296     va_start(args, line);
297 
298     if (fgLoggingFunc) {
299       iResult=(*fgLoggingFunc)(NULL/*fParam*/, severity, origin.Data(), GetKeyword(), AliHLTLogging::BuildLogString(NULL, args ));
300     } else {
301       if (fgUseAliLog!=0 && fgAliLoggingFunc!=NULL)
302         iResult=(*fgAliLoggingFunc)(severity, originClass, originFunc, file, line, AliHLTLogging::BuildLogString(NULL, args ));
303       else
304         iResult=Message(NULL/*fParam*/, severity, origin.Data(), GetKeyword(), AliHLTLogging::BuildLogString(NULL, args ));
305     }
306     va_end(args);
307   }
308   return iResult;
309 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!Message@{Message}}
\index{Message@{Message}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Message (void $\ast$ {\em param}, {\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin}, const char $\ast$ {\em keyword}, const char $\ast$ {\em message})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e4}


Print message to stdout 

Definition at line 123 of file Ali\-HLTLogging.cxx.

References HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Benchmark, k\-HLTLog\-Debug, k\-HLTLog\-Error, k\-HLTLog\-Fatal, k\-HLTLog\-Info, and k\-HLTLog\-Warning.

Referenced by Init\-Ali\-Log\-Trap(), Logging(), Logging\-Varargs(), and Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info().

\footnotesize\begin{verbatim}126 {
127   // see header file for class documentation
128   int iResult=0;
129   if (param==NULL) {
130     // this is currently just to get rid of the warning "unused parameter"
131   }
132 
133   const char* strSeverity="";
134   switch (severity) {
135   case kHLTLogBenchmark: 
136     strSeverity="benchmark";
137     break;
138   case kHLTLogDebug:
139     strSeverity="debug";
140     break;
141   case kHLTLogInfo:
142     strSeverity="info";
143     break;
144   case kHLTLogWarning:
145     strSeverity="warning";
146     break;
147   case kHLTLogError:
148     strSeverity="error";
149     break;
150   case kHLTLogFatal:
151     strSeverity="fatal";
152     break;
153   default:
154     break;
155   }
156   TString out="HLT Log ";
157   out+=strSeverity;
158   if (origin && origin[0]!=0) {out+=": <"; out+=origin; out+="> ";}
159   out+=" "; out+=message;
160   if (keyword!=NULL && strcmp(keyword, HLT_DEFAULT_LOG_KEYWORD)!=0) {
161     out+=" ("; out+=keyword; out +=")";
162   }
163   cout << out.Data() << endl;
164   return iResult;
165 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!operator=@{operator=}}
\index{operator=@{operator=}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging} \& Ali\-HLTLogging::operator= (const {\bf Ali\-HLTLogging} \&)}\label{classAliHLTLogging_a2}




Definition at line 65 of file Ali\-HLTLogging.cxx.

References HLTFatal.

\footnotesize\begin{verbatim}66 { 
67   // see header file for class documentation
68   HLTFatal("assignment operator untested");
69   return *this;
70 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!SetDefaultKeyword@{SetDefaultKeyword}}
\index{SetDefaultKeyword@{SetDefaultKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Default\-Keyword (const char $\ast$ {\em keyword})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a4}


set the default key word the keyword is intended to simplify the use of logging macros 

Definition at line 59 of file Ali\-HLTLogging.h.

\footnotesize\begin{verbatim}59 { fpDefaultKeyword=keyword; }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!SetGlobalLoggingLevel@{SetGlobalLoggingLevel}}
\index{SetGlobalLoggingLevel@{SetGlobalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Global\-Logging\-Level ({\bf Ali\-HLTComponent\-Log\-Severity} {\em level})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e2}


Set global logging level logging filter for all objects 

Definition at line 319 of file Ali\-HLTLogging.cxx.

References fg\-Global\-Log\-Filter.

\footnotesize\begin{verbatim}320 {
321   // see header file for class documentation
322 
323   fgGlobalLogFilter=level;
324 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!SetKeyword@{SetKeyword}}
\index{SetKeyword@{SetKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTLogging::Set\-Keyword (const char $\ast$ {\em keyword})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a5}


Set a temporary keyword returns the old key value 

Definition at line 65 of file Ali\-HLTLogging.h.

\footnotesize\begin{verbatim}66     { 
67       const char* currentKeyword=fpCurrentKeyword;
68       fpCurrentKeyword=keyword;
69       return currentKeyword; 
70     }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!SetLocalLoggingLevel@{SetLocalLoggingLevel}}
\index{SetLocalLoggingLevel@{SetLocalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Local\-Logging\-Level ({\bf Ali\-HLTComponent\-Log\-Severity} {\em level})}\label{classAliHLTLogging_a10}


Set local logging level logging filter for individual object 

Definition at line 333 of file Ali\-HLTLogging.cxx.

References f\-Local\-Log\-Filter.

Referenced by Ali\-HLTComponent::Ali\-HLTComponent(), Ali\-HLTComponent::Init(), and Init\-Ali\-Log\-Trap().

\footnotesize\begin{verbatim}334 {
335   // see header file for class documentation
336 
337   fLocalLogFilter=level;
338 }
\end{verbatim}\normalsize 


\index{AliHLTLogging@{Ali\-HLTLogging}!SwitchAliLog@{SwitchAliLog}}
\index{SwitchAliLog@{SwitchAliLog}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Switch\-Ali\-Log (int {\em sw})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a13}


Switch logging through Ali\-Log on or off \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em sw}]1 = logging through Ali\-Log \end{description}
\end{Desc}


Definition at line 168 of file Ali\-HLTLogging.h.

\footnotesize\begin{verbatim}168 {fgUseAliLog=(sw!=0);}
\end{verbatim}\normalsize 




\subsection{Member Data Documentation}
\index{AliHLTLogging@{Ali\-HLTLogging}!fgAliHLTLoggingTarget@{fgAliHLTLoggingTarget}}
\index{fgAliHLTLoggingTarget@{fgAliHLTLoggingTarget}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TArray\-C {\bf Ali\-HLTLogging::fg\-Ali\-HLTLogging\-Target}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v3}


The global logging buffer. The buffer is created with an initial size and grown dynamically on demand. 

Referenced by Build\-Log\-String().\index{AliHLTLogging@{Ali\-HLTLogging}!fgAliLoggingFunc@{fgAliLoggingFunc}}
\index{fgAliLoggingFunc@{fgAliLoggingFunc}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging::Ali\-HLTDynamic\-Message} {\bf Ali\-HLTLogging::fg\-Ali\-Logging\-Func} = NULL\hspace{0.3cm}{\tt  [static, protected]}}\label{classAliHLTLogging_t0}


the Ali\-Root logging function 

Definition at line 75 of file Ali\-HLTLogging.cxx.

Referenced by Logging(), and Logging\-Varargs().\index{AliHLTLogging@{Ali\-HLTLogging}!fgGlobalLogFilter@{fgGlobalLogFilter}}
\index{fgGlobalLogFilter@{fgGlobalLogFilter}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTLogging::fg\-Global\-Log\-Filter} = k\-HLTLog\-All\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v0}


transient 

the global logging filter 

Definition at line 73 of file Ali\-HLTLogging.cxx.

Referenced by Set\-Global\-Logging\-Level().\index{AliHLTLogging@{Ali\-HLTLogging}!fgkALIHLTLOGGINGMAXBUFFERSIZE@{fgkALIHLTLOGGINGMAXBUFFERSIZE}}
\index{fgkALIHLTLOGGINGMAXBUFFERSIZE@{fgkALIHLTLOGGINGMAXBUFFERSIZE}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf Ali\-HLTLogging::fgk\-ALIHLTLOGGINGMAXBUFFERSIZE} = 10000\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v4}


transient 

the maximum size of the buffer 

Definition at line 86 of file Ali\-HLTLogging.cxx.\index{AliHLTLogging@{Ali\-HLTLogging}!fgLoggingFunc@{fgLoggingFunc}}
\index{fgLoggingFunc@{fgLoggingFunc}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTfct\-Logging} {\bf Ali\-HLTLogging::fg\-Logging\-Func} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v1}


logging callback from the framework 

Definition at line 74 of file Ali\-HLTLogging.cxx.

Referenced by Init().\index{AliHLTLogging@{Ali\-HLTLogging}!fgLogstr@{fgLogstr}}
\index{fgLogstr@{fgLogstr}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ostringstream {\bf Ali\-HLTLogging::fg\-Logstr}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_s0}


target stream for Ali\-Root logging methods 

Definition at line 72 of file Ali\-HLTLogging.cxx.\index{AliHLTLogging@{Ali\-HLTLogging}!fgUseAliLog@{fgUseAliLog}}
\index{fgUseAliLog@{fgUseAliLog}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTLogging::fg\-Use\-Ali\-Log} = 1\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v2}


transient 

switch for logging through Ali\-Log, default on 

Definition at line 76 of file Ali\-HLTLogging.cxx.

Referenced by Logging(), and Logging\-Varargs().\index{AliHLTLogging@{Ali\-HLTLogging}!fLocalLogFilter@{fLocalLogFilter}}
\index{fLocalLogFilter@{fLocalLogFilter}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTLogging::f\-Local\-Log\-Filter}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r0}


the local logging filter for one class 

Definition at line 199 of file Ali\-HLTLogging.h.

Referenced by Set\-Local\-Logging\-Level().\index{AliHLTLogging@{Ali\-HLTLogging}!fpCurrentKeyword@{fpCurrentKeyword}}
\index{fpCurrentKeyword@{fpCurrentKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf Ali\-HLTLogging::fp\-Current\-Keyword}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r2}


transient 

current keyword 

Definition at line 205 of file Ali\-HLTLogging.h.\index{AliHLTLogging@{Ali\-HLTLogging}!fpDefaultKeyword@{fpDefaultKeyword}}
\index{fpDefaultKeyword@{fpDefaultKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf Ali\-HLTLogging::fp\-Default\-Keyword}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r1}


default keyword 

Definition at line 203 of file Ali\-HLTLogging.h.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTLogging.h}\item 
/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTLogging.cxx}\end{CompactItemize}
