Changeset 1225
- Timestamp:
- 16/12/2006 20:26:31 (5 years ago)
- Location:
- box/chris/merge/lib/common
- Files:
-
- 2 edited
-
Logging.cpp (modified) (11 diffs)
-
Logging.h (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
box/chris/merge/lib/common/Logging.cpp
r1224 r1225 16 16 #include "Logging.h" 17 17 18 bool Logg ers::sLogToSyslog = false;19 bool Logg ers::sLogToConsole = false;20 bool Logg ers::sContextSet = false;18 bool Logging::sLogToSyslog = false; 19 bool Logging::sLogToConsole = false; 20 bool Logging::sContextSet = false; 21 21 22 void Loggers::ToSyslog(bool enabled) 22 std::vector<Logger*> Logging::sLoggers; 23 std::string Logging::sContext; 24 Console Logging::sConsole; 25 Syslog Logging::sSyslog; 26 Log::Level Logging::sGlobalLevel; 27 28 void Logging::ToSyslog(bool enabled) 23 29 { 24 30 if (!sLogToSyslog && enabled) … … 35 41 } 36 42 37 void Logg ers::ToConsole(bool enabled)43 void Logging::ToConsole(bool enabled) 38 44 { 39 45 if (!sLogToConsole && enabled) … … 50 56 } 51 57 52 void Logg ers::FilterConsole(Log::Level level)58 void Logging::FilterConsole(Log::Level level) 53 59 { 54 60 sConsole.Filter(level); 55 61 } 56 62 57 void Logg ers::FilterSyslog(Log::Level level)63 void Logging::FilterSyslog(Log::Level level) 58 64 { 59 65 sSyslog.Filter(level); 60 66 } 61 67 62 void Logg ers::Add(Logger* pNewLogger)68 void Logging::Add(Logger* pNewLogger) 63 69 { 64 70 for (std::vector<Logger*>::iterator i = sLoggers.begin(); … … 74 80 } 75 81 76 void Logg ers::Remove(Logger* pOldLogger)82 void Logging::Remove(Logger* pOldLogger) 77 83 { 78 84 for (std::vector<Logger*>::iterator i = sLoggers.begin(); … … 87 93 } 88 94 89 void Logg ers::Log(Log::Level level, const std::string& rFile,90 const std::string& rLine, const std::string& rMessage)95 void Logging::Log(Log::Level level, const std::string& rFile, 96 int line, const std::string& rMessage) 91 97 { 92 98 std::string newMessage; … … 102 108 i != sLoggers.end(); i++) 103 109 { 104 bool result = (*i)->Log(level, rFile, rLine, newMessage);110 bool result = (*i)->Log(level, rFile, line, newMessage); 105 111 if (!result) 106 112 { … … 110 116 } 111 117 112 void Logg ers::SetContext(std::string context)118 void Logging::SetContext(std::string context) 113 119 { 114 120 sContext = context; … … 116 122 } 117 123 118 void Logg ers::ClearContext()124 void Logging::ClearContext() 119 125 { 120 126 sContextSet = false; 121 127 } 122 128 123 void Logg ers::SetProgramName(const std::string& rProgramName)129 void Logging::SetProgramName(const std::string& rProgramName) 124 130 { 125 131 for (std::vector<Logger*>::iterator i = sLoggers.begin(); … … 131 137 132 138 bool Console::Log(Log::Level level, const std::string& rFile, 133 const std::string& rLine, std::string& rMessage)139 int line, std::string& rMessage) 134 140 { 135 141 if (level > GetLevel()) … … 145 151 } 146 152 147 fprintf(target, "%s ", rMessage.c_str());153 fprintf(target, "%s\n", rMessage.c_str()); 148 154 149 155 return true; … … 151 157 152 158 bool Syslog::Log(Log::Level level, const std::string& rFile, 153 const std::string& rLine, std::string& rMessage)159 int line, std::string& rMessage) 154 160 { 155 161 if (level > GetLevel()) -
box/chris/merge/lib/common/Logging.h
r1224 r1225 14 14 #include <vector> 15 15 16 /* 16 17 #define BOX_LOG(level, stuff) \ 17 18 { \ … … 21 22 Log::Write(level, __FILE__, __LINE__, line.str()); \ 22 23 } \ 24 } 25 */ 26 27 #define BOX_LOG(level, stuff) \ 28 { \ 29 std::ostringstream line; \ 30 line << stuff; \ 31 Logging::Log(level, __FILE__, __LINE__, line.str()); \ 23 32 } 24 33 … … 42 51 // Class 43 52 // Name: Logger 44 // Purpose: Abstract class (interface)for log targets53 // Purpose: Abstract base class for log targets 45 54 // Created: 2006/12/16 46 55 // … … 57 66 58 67 virtual bool Log(Log::Level level, const std::string& rFile, 59 const std::string& rLine, std::string& rMessage) = 0;68 int line, std::string& rMessage) = 0; 60 69 61 70 void Filter(Log::Level level) … … 75 84 // Name: Console 76 85 // Purpose: Console logging target 77 // Created: 2006/12/1 286 // Created: 2006/12/16 78 87 // 79 88 // -------------------------------------------------------------------------- … … 83 92 public: 84 93 virtual bool Log(Log::Level level, const std::string& rFile, 85 const std::string& rLine, std::string& rMessage);94 int line, std::string& rMessage); 86 95 virtual const char* GetType() { return "Console"; } 87 96 virtual void SetProgramName(const std::string& rProgramName) { } … … 93 102 // Name: Syslog 94 103 // Purpose: Syslog (or Windows Event Viewer) logging target 95 // Created: 2006/12/1 2104 // Created: 2006/12/16 96 105 // 97 106 // -------------------------------------------------------------------------- … … 104 113 105 114 virtual bool Log(Log::Level level, const std::string& rFile, 106 const std::string& rLine, std::string& rMessage);115 int line, std::string& rMessage); 107 116 virtual const char* GetType() { return "Syslog"; } 108 117 virtual void SetProgramName(const std::string& rProgramName); … … 112 121 // 113 122 // Class 114 // Name: Log 123 // Name: Logging 115 124 // Purpose: Static logging helper, keeps track of enabled loggers 116 125 // and distributes log messages to them. 117 // Created: 2006/12/1 2126 // Created: 2006/12/16 118 127 // 119 128 // -------------------------------------------------------------------------- 120 129 121 class Logg ers130 class Logging 122 131 { 123 132 private: … … 139 148 static void Remove (Logger* pOldLogger); 140 149 static void Log(Log::Level level, const std::string& rFile, 141 const std::string& rLine, const std::string& rMessage);150 int line, const std::string& rMessage); 142 151 static void SetContext(std::string context); 143 152 static void ClearContext();
Note: See TracChangeset
for help on using the changeset viewer.
