summaryrefslogtreecommitdiff
path: root/Log.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Log.cc')
-rw-r--r--Log.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/Log.cc b/Log.cc
index 765c9e8..f08cc05 100644
--- a/Log.cc
+++ b/Log.cc
@@ -1,28 +1,32 @@
+#include <iostream>
#include <string>
+#include "Color.hh"
#include "Log.hh"
namespace pcc {
void Log(LogLevel level, const char* format, ...) {
+ char buf[1024];
va_list va;
va_start(va, format);
if (GetLogLevel() <= level) {
+ std::cerr << GetExecutableName() << ": ";
switch (level) {
case PCC_ERROR:
- std::fprintf(stderr, "[ERROR] ");
+ std::cerr << Color::RED << "error: ";
break;
case PCC_WARNING:
- std::fprintf(stderr, "[WARNING] ");
+ std::cerr << Color::YELLOW << "warning: ";
break;
case PCC_INFO:
- std::fprintf(stderr, "[INFO] ");
+ std::cerr << Color::CYAN << "info: ";
break;
case PCC_DEBUG:
- std::fprintf(stderr, "[DEBUG] ");
+ std::cerr << Color::GREEN << "remark: ";
break;
}
- std::vfprintf(stderr, format, va);
- std::fputc('\n', stderr);
+ std::vsnprintf(buf, sizeof(buf), format, va);
+ std::cerr << Color::WHITE << buf << Color::DEFAULT << std::endl;
}
va_end(va);
}