00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifdef _WIN32
00031 #pragma warning(disable:4786)
00032 #endif
00033 #include "ISocketHandler.h"
00034 #include "Socket.h"
00035 #include "StdoutLog.h"
00036
00037 #ifdef SOCKETS_NAMESPACE
00038 namespace SOCKETS_NAMESPACE {
00039 #endif
00040
00041
00042
00043
00044 void StdoutLog::error(ISocketHandler *,Socket *sock,const std::string& call,int err,const std::string& sys_err,loglevel_t lvl)
00045 {
00046 time_t t = time(NULL);
00047 struct tm tp;
00048 #ifdef _WIN32
00049 memcpy(&tp, localtime(&t), sizeof(tp));
00050 #else
00051 localtime_r(&t, &tp);
00052 #endif
00053 std::string level;
00054
00055 switch (lvl)
00056 {
00057 case LOG_LEVEL_WARNING:
00058 level = "Warning";
00059 break;
00060 case LOG_LEVEL_ERROR:
00061 level = "Error";
00062 break;
00063 case LOG_LEVEL_FATAL:
00064 level = "Fatal";
00065 break;
00066 case LOG_LEVEL_INFO:
00067 level = "Info";
00068 break;
00069 }
00070 if (sock)
00071 {
00072 printf("%d-%02d-%02d %02d:%02d:%02d :: fd %d :: %s: %d %s (%s)\n",
00073 tp.tm_year + 1900,
00074 tp.tm_mon + 1,
00075 tp.tm_mday,
00076 tp.tm_hour,tp.tm_min,tp.tm_sec,
00077 sock -> GetSocket(),
00078 call.c_str(),err,sys_err.c_str(),level.c_str());
00079 }
00080 else
00081 {
00082 printf("%d-%02d-%02d %02d:%02d:%02d :: %s: %d %s (%s)\n",
00083 tp.tm_year + 1900,
00084 tp.tm_mon + 1,
00085 tp.tm_mday,
00086 tp.tm_hour,tp.tm_min,tp.tm_sec,
00087 call.c_str(),err,sys_err.c_str(),level.c_str());
00088 }
00089 }
00090
00091
00092 #ifdef SOCKETS_NAMESPACE
00093 }
00094 #endif
00095