Salome HOME
bb7b377c556db63ed24b9308e0330bfdc78029fe
[modules/yacs.git] / src / engine / LogRecord.cxx
1 #include "LogRecord.hxx"
2
3 #include <sstream>
4 #include <iostream>
5
6 //#define _DEVDEBUG_
7 #include "YacsTrace.hxx"
8
9 using namespace YACS::ENGINE;
10
11 LogRecord::LogRecord(const std::string& name,int level,const std::string& message, const char* file, int line)
12         :_loggerName(name),_level(level),_message(message),_fileName((char*)file),_line(line)
13 {
14 }
15
16 LogRecord::~LogRecord()
17 {
18 }
19
20 std::string LogRecord::getLevelName(int level)
21 {
22   switch(level)
23     {
24     case FATAL:
25       return "FATAL";
26     case ERROR:
27       return "ERROR";
28     case WARNING:
29       return "WARNING";
30     case INFO:
31       return "INFO";
32     case DEBUG:
33       return "DEBUG";
34     default:
35       return "NOTSET";
36     }
37 }
38
39 std::string LogRecord::getStr()
40 {
41   std::stringstream msg;
42   msg << "LogRecord: " << _loggerName << ":" << getLevelName(_level) << ":" << _message;
43   if(_fileName != "")
44     msg << " (" << _fileName << ":" << _line << ")";
45   return msg.str();
46 }
47