42 static char sDateTimeFormat[16];
45 static char sTimeBuff[512];
48 time(&KTLogger::Private::sRawTime);
49 sProcessedTime = localtime(&KTLogger::Private::sRawTime);
50 return strftime(KTLogger::Private::sTimeBuff, 512,
51 KTLogger::Private::sDateTimeFormat,
52 KTLogger::Private::sProcessedTime);
63 case eTrace :
return "TRACE";
break;
64 case eDebug :
return "DEBUG";
break;
65 case eInfo :
return "INFO";
break;
66 case eProg :
return "PROG";
break;
67 case eWarn :
return "WARN";
break;
68 case eError :
return "ERROR";
break;
69 case eFatal :
return "FATAL";
break;
70 default :
return "XXX";
96 cout << Private::level2Color(level) << KTLogger::Private::sTimeBuff <<
" [" << setw(5) << Private::level2Str(level) <<
"] ";
99 cout << message <<
EndColor() << endl;
104 cout << KTLogger::Private::sTimeBuff <<
" [" << setw(5) << level <<
"] ";
107 cout << message << endl;
113 getTimeAbsoluteStr();
117 cerr << Private::level2Color(level) << KTLogger::Private::sTimeBuff <<
" [" << setw(5) << Private::level2Str(level) <<
"] ";
120 cerr << message <<
EndColor() << endl;
125 cerr << KTLogger::Private::sTimeBuff <<
" [" << setw(5) << Private::level2Str(level) <<
"] ";
128 cerr << message << endl;
133 char KTLogger::Private::sDateTimeFormat[16];
134 time_t KTLogger::Private::sRawTime;
135 tm* KTLogger::Private::sProcessedTime;
136 char KTLogger::Private::sTimeBuff[512];
138 KTLogger::KTLogger(
const char* name) : fPrivate(new
Private())
146 const char* logName = strrchr(name,
'/') ? strrchr(name,
'/') + 1 : name;
150 sprintf(KTLogger::Private::sDateTimeFormat,
"%%T");
158 sprintf(KTLogger::Private::sDateTimeFormat,
"%%T");
174 #if defined(NDEBUG) && defined(STANDARD) 176 #elif defined(NDEBUG)
static tm * sProcessedTime
const string & ProgColor()
const string & FatalColor()
static size_t getTimeAbsoluteStr()
const string & WarnColor()
bool IsLevelEnabled(ELevel level) const
#define KTCOLOR_FOREGROUND_RED
#define KTCOLOR_SEPARATOR
const string & OtherColor()
KTLogger(const char *name=0)
static string level2Color(ELevel level)
void SetLevel(ELevel level) const
const string & InfoColor()
const string & ErrorColor()
#define KTCOLOR_FOREGROUND_YELLOW
const string & DebugColor()
void Log(ELevel level, const std::string &message, const Location &loc=Location())
const string & EndColor()
void logCout(ELevel level, const string &message, const Location &loc)
#define KTCOLOR_FOREGROUND_GREEN
#define KTCOLOR_FOREGROUND_WHITE
void logCerr(ELevel level, const string &message, const Location &loc)
static const char * level2Str(ELevel level)
#define KTCOLOR_FOREGROUND_CYAN
#define KTCOLOR_FOREGROUND_BLUE
Contains the logger class and macros, based on Kasper's KLogger class.