StdoutLog Class ReferenceStdLog implementation, logs to stdout.
More...
| |||||||||||||||||||||||||||||||||||||||||||||||||
Public Member Functions | |
| StdoutLog (loglevel_t min_level=LOG_LEVEL_INFO) | |
| void | error (ISocketHandler *, Socket *, const std::string &call, int err, const std::string &sys_err, loglevel_t) |
Private Attributes | |
| loglevel_t | m_min_level |
Definition at line 45 of file StdoutLog.h.
| StdoutLog::StdoutLog | ( | loglevel_t | min_level = LOG_LEVEL_INFO |
) | [inline] |
| void StdoutLog::error | ( | ISocketHandler * | , | |
| Socket * | sock, | |||
| const std::string & | call, | |||
| int | err, | |||
| const std::string & | sys_err, | |||
| loglevel_t | lvl | |||
| ) | [virtual] |
Implements StdLog.
Definition at line 45 of file StdoutLog.cpp.
References LOG_LEVEL_ERROR, LOG_LEVEL_FATAL, LOG_LEVEL_INFO, LOG_LEVEL_WARNING, and m_min_level.
00046 { 00047 if (lvl < m_min_level) 00048 return; 00049 char dt[40]; 00050 time_t t = time(NULL); 00051 #ifdef __CYGWIN__ 00052 struct tm *tp = localtime(&t); 00053 sprintf(dt, "%d-%02d-%02d %02d:%02d:%02d", 00054 tp -> tm_year + 1900, 00055 tp -> tm_mon + 1, 00056 tp -> tm_mday, 00057 tp -> tm_hour,tp -> tm_min,tp -> tm_sec); 00058 #else 00059 struct tm tp; 00060 #if defined( _WIN32) && !defined(__CYGWIN__) 00061 localtime_s(&tp, &t); 00062 #else 00063 localtime_r(&t, &tp); 00064 #endif 00065 sprintf(dt, "%d-%02d-%02d %02d:%02d:%02d", 00066 tp.tm_year + 1900, 00067 tp.tm_mon + 1, 00068 tp.tm_mday, 00069 tp.tm_hour,tp.tm_min,tp.tm_sec); 00070 #endif 00071 std::string level; 00072 00073 switch (lvl) 00074 { 00075 case LOG_LEVEL_WARNING: 00076 level = "Warning"; 00077 break; 00078 case LOG_LEVEL_ERROR: 00079 level = "Error"; 00080 break; 00081 case LOG_LEVEL_FATAL: 00082 level = "Fatal"; 00083 break; 00084 case LOG_LEVEL_INFO: 00085 level = "Info"; 00086 break; 00087 } 00088 if (sock) 00089 { 00090 printf("%s :: fd %d :: %s: %d %s (%s)\n", 00091 dt, 00092 sock -> GetSocket(), 00093 call.c_str(),err,sys_err.c_str(),level.c_str()); 00094 } 00095 else 00096 { 00097 printf("%s :: %s: %d %s (%s)\n", 00098 dt, 00099 call.c_str(),err,sys_err.c_str(),level.c_str()); 00100 } 00101 }
loglevel_t StdoutLog::m_min_level [private] |
1.4.4