forked from rcxpony/sparkle
cmake update and logs
This commit is contained in:
parent
caf9cd17af
commit
a6c535e784
@ -8,14 +8,28 @@ set(SOURCE sources/main.cpp)
|
|||||||
set(LIBS ${CMAKE_SOURCE_DIR}/libs/)
|
set(LIBS ${CMAKE_SOURCE_DIR}/libs/)
|
||||||
set(INCLUDE ${CMAKE_SOURCE_DIR}/include/)
|
set(INCLUDE ${CMAKE_SOURCE_DIR}/include/)
|
||||||
set(TESTS ${CMAKE_SOURCE_DIR}/tests)
|
set(TESTS ${CMAKE_SOURCE_DIR}/tests)
|
||||||
|
set(CMAKE_C_COMPILER "clang")
|
||||||
|
set(CMAKE_CXX_COMPILER "clang++")
|
||||||
|
|
||||||
find_package(CURL REQUIRED)
|
find_package(CURL REQUIRED)
|
||||||
find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket)
|
find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket)
|
||||||
find_library(IXWEBSOCKET_LIBRARIES ixwebsocket)
|
find_library(IXWEBSOCKET_LIBRARIES ixwebsocket)
|
||||||
|
find_program(CMAKE_C_COMPILER clang)
|
||||||
|
find_program(CLANG_CXX_COMPILER clang++)
|
||||||
|
|
||||||
message(STATUS "IXWEBSOCKET_LIBRARIES: ${IXWEBSOCKET_LIBRARIES}")
|
message(STATUS "ixwebsocket: ${IXWEBSOCKET_LIBRARIES}")
|
||||||
message(STATUS "CURL_LIBRARIES: ${CURL_LIBRARIES}")
|
message(STATUS "curl: ${CURL_LIBRARIES}")
|
||||||
|
|
||||||
|
if(NOT CMAKE_C_COMPILER OR NOT CLANG_CXX_COMPILER)
|
||||||
|
message(STATUS "clang not found")
|
||||||
|
set(CMAKE_C_COMPILER "gcc")
|
||||||
|
set(CMAKE_CXX_COMPILER "g++")
|
||||||
|
find_program(CMAKE_C_COMPILER clang)
|
||||||
|
find_program(CLANG_CXX_COMPILER clang++)
|
||||||
|
if(NOT CMAKE_C_COMPILER OR NOT CLANG_CXX_COMPILER)
|
||||||
|
message(FATAL_ERROR "gcc not found")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARIES)
|
if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARIES)
|
||||||
message(FATAL_ERROR "ixwebsocket not found")
|
message(FATAL_ERROR "ixwebsocket not found")
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
using std::setfill, std::setw;
|
using std::setfill, std::setw;
|
||||||
enum level { INFO, WARNING, ERROR };
|
enum level { INFO, WARNING, ERROR, CRITICAL };
|
||||||
enum type { WEBSOCKET, NETWORK };
|
enum type { WEBSOCKET, NETWORK, API };
|
||||||
class Logs {
|
class Logs {
|
||||||
public:
|
public:
|
||||||
static void create(level lvl, type t, const std::string& message) {
|
static void create(level lvl, type t, const std::string& message) {
|
||||||
@ -15,19 +15,22 @@ public:
|
|||||||
std::string color;
|
std::string color;
|
||||||
switch (lvl) {
|
switch (lvl) {
|
||||||
case INFO:
|
case INFO:
|
||||||
color = "\033[34m";
|
color = "\033[34;1m";
|
||||||
break;
|
break;
|
||||||
case WARNING:
|
case WARNING:
|
||||||
color = "\033[33m";
|
color = "\033[33;1m";
|
||||||
break;
|
break;
|
||||||
case ERROR:
|
case ERROR:
|
||||||
color = "\033[31m";
|
color = "\033[31;1m";
|
||||||
|
break;
|
||||||
|
case CRITICAL:
|
||||||
|
color = "\033[31;1;2m";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
color = "\033[0m";
|
color = "\033[0m";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
std::cout << color << "[" << getCurrentTime() << "][" << str(t) << "][" << str(lvl) << "] \033[37m" << message << "\033[0m" << std::endl;
|
std::cout << color << "[" << getCurrentTime() << "][" << str(t) << "][" << str(lvl) << "] \033[0m" << message << "\033[0m" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
@ -38,18 +41,20 @@ private:
|
|||||||
oss << setfill('0') << setw(2) << timer->tm_hour << ":" << setfill('0') << setw(2) << timer->tm_min << ":" << setfill('0') << setw(2) << timer->tm_sec;
|
oss << setfill('0') << setw(2) << timer->tm_hour << ":" << setfill('0') << setw(2) << timer->tm_min << ":" << setfill('0') << setw(2) << timer->tm_sec;
|
||||||
return oss.str();
|
return oss.str();
|
||||||
}
|
}
|
||||||
static std::string str(level lvl) {
|
static std::string str(const level& lvl) {
|
||||||
switch (lvl) {
|
switch (lvl) {
|
||||||
case INFO: return "INFO";
|
case INFO: return "INFO";
|
||||||
case WARNING: return "WARNING";
|
case WARNING: return "WARNING";
|
||||||
case ERROR: return "ERROR";
|
case ERROR: return "ERROR";
|
||||||
|
case CRITICAL: return "CRITICAL";
|
||||||
default: return "UNKNOWN";
|
default: return "UNKNOWN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static std::string str(type t) {
|
static std::string str(const type& t) {
|
||||||
switch (t) {
|
switch (t) {
|
||||||
case WEBSOCKET: return "WEBSOCKET";
|
case WEBSOCKET: return "WEBSOCKET";
|
||||||
case NETWORK: return "NETWORK";
|
case NETWORK: return "NETWORK";
|
||||||
|
case API: return "API";
|
||||||
default: return "UNKNOWN";
|
default: return "UNKNOWN";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user