| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IssueLogger.h
Go to the documentation of this file.
1 #ifndef GAUDISVC_ISSUELOGGER_H
2 #define GAUDISVC_ISSUELOGGER_H
3
4 #include "GaudiKernel/Service.h"
5 #include "GaudiKernel/IIssueLogger.h"
6 #include "GaudiKernel/IssueSeverity.h"
7 #include "GaudiKernel/Property.h"
8 #include "StreamLogger.h"
9 #include "boost/function.hpp"
10 #include <string>
11 #include <vector>
12 #include <map>
13
14
15 class IssueLogger: public extends1<Service, IIssueLogger> {
16 public:
17
18 virtual StatusCode initialize();
19 virtual StatusCode reinitialize();
20 virtual StatusCode finalize();
21
22 IssueLogger(const std::string& name, ISvcLocator *svc );
23
24 void report(IssueSeverity::Level level, const std::string& msg,
25 const std::string& origin);
26 void report(const IssueSeverity& err);
27
28
29 protected:
30
31 virtual ~IssueLogger();
32
33 private:
34
35 StringArrayProperty m_outputfile;
36 StringProperty m_reportLevelS, m_traceLevelS;
37 BooleanProperty m_showTime;
38
39 IssueSeverity::Level m_reportLevel, m_traceLevel;
40
41 StreamLogger *m_logger[IssueSeverity::NUM_LEVELS];
42 boost::function<void (const std::string&)> m_log[IssueSeverity::NUM_LEVELS];
43
44 std::map<MSG::Level, IssueSeverity::Level> m_msgSevMap;
45 std::map<IssueSeverity::Level, MSG::Level> m_sevMsgMap;
46 std::map<IssueSeverity::Level, std::string> m_levelTrans;
47 std::map<std::string, IssueSeverity::Level> m_levelSTrans;
48
49
50 StatusCode connect( const std::string& );
51 void getTraceBack(std::string& stack);
52
53 MSG::Level sevToMsg(IssueSeverity::Level &lev);
54 IssueSeverity::Level msgToSev(MSG::Level &lev);
55
56 void setupDefaultLogger();
57 void setupLevels(Property& prop);
58 void setupStreams(Property& prop);
59
60 };
61
62 #endif