Solved little pointer bug that prevented logger classes to be used in standalone...
[u/mrichter/AliRoot.git] / HLT / src / AliL3Logger.cxx
1 // $Id$
2
3 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
4 // changes done by Constantin Loizides <mailto:loizides@ikf.physik.uni-frankfurt.de>
5
6
7 #include "AliL3Logging.h"
8 #include "AliL3Logger.h"
9 #include <fstream.h>
10
11 ClassImp(AliL3Logger)
12
13 #ifdef use_logging
14
15 int AliL3Logger::kAll= AliL3Log::kAll;
16 int AliL3Logger::kDebug = AliL3Log::kDebug;
17 int AliL3Logger::kInformational = AliL3Log::kInformational;
18 int AliL3Logger::kWarning = AliL3Log::kWarning;
19 int AliL3Logger::kError = AliL3Log::kError;
20 int AliL3Logger::kFatal = AliL3Log::kFatal;
21
22 AliL3Logger::AliL3Logger(){
23   gLogLevel=AliL3Log::kAll;
24   dn = so = se = sm =0;
25   of = 0;
26 }
27 AliL3Logger::~AliL3Logger(){
28   if(dn) {gLog.DelServer(dn);delete dn;}
29   if(so) {gLog.DelServer(so);delete so;}
30   if(se) {gLog.DelServer(se);delete se;}
31   if(sm) {gLog.DelServer(sm);delete sm;}
32   if(of) {of->close();delete of;}
33 }
34 void AliL3Logger::Set(int l){gLogLevel |=l;}
35 void AliL3Logger::UnSet(int l){gLogLevel &=(~l);}
36 void AliL3Logger::UseDevNull(){
37   if(dn) return;
38   dn = new AliL3DevNullLogServer();
39   gLog.AddServer(dn);
40 }
41 void AliL3Logger::UseStdout(){
42   if(so)return;
43   so = new AliL3StdoutLogServer(); 
44   gLog.AddServer(so);
45 }
46 void AliL3Logger::UseStderr(){
47   if(se) return;
48   se = new AliL3StderrLogServer();
49   gLog.AddServer(se);
50 }
51
52 void AliL3Logger::UseStream(char *name){
53   if(sm) return;
54   if(of) of->close();
55   delete of;
56   of = 0;
57   of = new ofstream();
58   of->open(name);
59   sm = new  AliL3StreamLogServer(*of);
60   gLog.AddServer(sm);
61 }
62 void AliL3Logger::NotUseDevNull(){
63   if(dn) {gLog.DelServer(dn);delete dn;dn=0;}
64 }
65 void AliL3Logger::NotUseStdout(){
66   if(so) {gLog.DelServer(so);delete so;so=0;}
67 }
68 void AliL3Logger::NotUseStderr(){
69   if(se) {gLog.DelServer(se);delete se;se=0;}
70 }
71
72 void AliL3Logger::NotUseStream(){
73   if(sm) {gLog.DelServer(sm);delete sm;sm=0;}
74   if(of) {of->close();delete of;of=0;}
75 }
76 #else
77
78 int AliL3Logger::kAll= AliL3Log::kAll;
79 int AliL3Logger::kDebug = AliL3Log::kDebug;
80 int AliL3Logger::kInformational = AliL3Log::kInformational;
81 int AliL3Logger::kWarning = AliL3Log::kWarning;
82 int AliL3Logger::kError = AliL3Log::kError;
83 int AliL3Logger::kFatal = AliL3Log::kFatal;
84
85 AliL3Logger::AliL3Logger(){;}
86 AliL3Logger::~AliL3Logger(){;}
87 void AliL3Logger::Set(int l){;}
88 void AliL3Logger::UnSet(int l){;}
89 void AliL3Logger::UseDevNull(){;}
90 void AliL3Logger::UseStdout(){;}
91 void AliL3Logger::UseStderr(){;}
92 void AliL3Logger::UseStream(char *name){;}
93 void AliL3Logger::NotUseDevNull(){;}
94 void AliL3Logger::NotUseStdout(){;}
95 void AliL3Logger::NotUseStderr(){;}
96 void AliL3Logger::NotUseStream(){;}
97 #endif
98
99
100