working commit
This commit is contained in:
+2
-2
@@ -10,12 +10,12 @@ int main(int argc, char** argv) {
|
||||
UxClient client;
|
||||
auto connectRes = client.Connect("127.0.0.1", 1025);
|
||||
if (!connectRes) {
|
||||
uxlogger.Log(connectRes.error());
|
||||
uxlogger.Error(connectRes.error());
|
||||
return 1;
|
||||
}
|
||||
auto runRes = client.Run();
|
||||
if (!runRes) {
|
||||
uxlogger.Log(runRes.error());
|
||||
uxlogger.Error(runRes.error());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ std::expected<void, std::string> Run() {
|
||||
int main(int argc, char** argv) {
|
||||
auto runRes = Run();
|
||||
if (!runRes) {
|
||||
uxlogger.Log(runRes.error());
|
||||
uxlogger.Error(runRes.error());
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
+13
-13
@@ -46,19 +46,19 @@ void SocketHandler::Handle(int newsock, std::string laddr, std::string raddr, st
|
||||
std::thread recvThr(&SocketHandler::RecvMessages, this);
|
||||
recvThr.detach();
|
||||
{
|
||||
uxlogger.Log(std::format("Send debug empty message"));
|
||||
uxlogger.Debug(std::format("Send debug empty message"));
|
||||
MessageHeader header(0);
|
||||
auto rawHeader = header.Encode();
|
||||
int wsize;
|
||||
if ((wsize = write(sock, rawHeader.data(), rawHeader.size())) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Write message error: {}", error));
|
||||
uxlogger.Error(std::format("Write message error: {}", error));
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
uxlogger.Log(std::format("Send address message"));
|
||||
uxlogger.Debug(std::format("Send address message"));
|
||||
uxcontrol::AddressMessage addrMsg;
|
||||
auto meta = addrMsg.mutable_meta();
|
||||
meta->set_kind(tunAddressMsg);
|
||||
@@ -77,7 +77,7 @@ void SocketHandler::Handle(int newsock, std::string laddr, std::string raddr, st
|
||||
if ((wsize = write(sock, rawPacket.data(), rawPacket.size())) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Write message error: {}", error));
|
||||
uxlogger.Error(std::format("Write message error: {}", error));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -96,7 +96,7 @@ void SocketHandler::Handle(int newsock, std::string laddr, std::string raddr, st
|
||||
auto network = networkRes.value();
|
||||
auto prefix = prefixRes.value();
|
||||
|
||||
uxlogger.Log(std::format("Send route message for {}/{}", network, prefix));
|
||||
uxlogger.Info(std::format("Send route message for {}/{}", network, prefix));
|
||||
uxcontrol::RouteMessage routeMsg;
|
||||
auto meta = routeMsg.mutable_meta();
|
||||
meta->set_kind(localRouteMsg);
|
||||
@@ -115,7 +115,7 @@ void SocketHandler::Handle(int newsock, std::string laddr, std::string raddr, st
|
||||
if ((wsize = write(sock, rawPacket.data(), rawPacket.size())) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Write message error: {}", error));
|
||||
uxlogger.Error(std::format("Write message error: {}", error));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ void SocketHandler::Handle(int newsock, std::string laddr, std::string raddr, st
|
||||
sendThr.detach();
|
||||
|
||||
done.acquire();
|
||||
uxlogger.Log("Handler done");
|
||||
uxlogger.Debug("Handler done");
|
||||
}
|
||||
|
||||
void SocketHandler::SendMessages(void) {
|
||||
@@ -163,7 +163,7 @@ void SocketHandler::SendMessages(void) {
|
||||
|
||||
}
|
||||
done.release();
|
||||
uxlogger.Log("Send messages done");
|
||||
uxlogger.Info("Send messages done");
|
||||
}
|
||||
|
||||
void SocketHandler::RecvMessages(void) {
|
||||
@@ -173,17 +173,17 @@ void SocketHandler::RecvMessages(void) {
|
||||
if ((rsize = recv(sock, rawHeader.data(), rawHeader.size(), MSG_WAITALL)) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Read header error: {}", error));
|
||||
uxlogger.Error(std::format("Read header error: {}", error));
|
||||
break;
|
||||
}
|
||||
if (rsize < msgHeaderSize) {
|
||||
uxlogger.Log(std::format("Read only {} from {} header bytes", rsize, msgHeaderSize));
|
||||
uxlogger.Error(std::format("Read only {} from {} header bytes", rsize, msgHeaderSize));
|
||||
break;
|
||||
}
|
||||
MessageHeader header;
|
||||
auto decodeRes = header.Decode(rawHeader);
|
||||
if (!decodeRes) {
|
||||
uxlogger.Log(std::format("Decode header error: {}", decodeRes.error()));
|
||||
uxlogger.Error(std::format("Decode header error: {}", decodeRes.error()));
|
||||
break;
|
||||
}
|
||||
auto pSize = header.PayloadSize();
|
||||
@@ -194,7 +194,7 @@ void SocketHandler::RecvMessages(void) {
|
||||
if ((rsize = recv(sock, rawMessage.data(), rawMessage.size(), MSG_WAITALL)) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Read message error: {}", error));
|
||||
uxlogger.Error(std::format("Read message error: {}", error));
|
||||
break;
|
||||
}
|
||||
uxcontrol::SimpleMessage simpleMsg;
|
||||
@@ -218,5 +218,5 @@ void SocketHandler::RecvMessages(void) {
|
||||
}
|
||||
}
|
||||
done.release();
|
||||
uxlogger.Log("Recv messages done");
|
||||
uxlogger.Info("Recv messages done");
|
||||
}
|
||||
|
||||
+11
-11
@@ -87,22 +87,21 @@ void UxClient::RecvMessages(void) {
|
||||
std::string rawHeader(msgHeaderSize, 0);
|
||||
if ((rsize = recv(sock, rawHeader.data(), rawHeader.size(), MSG_WAITALL)) < 0) {
|
||||
int errnoCopy = errno;
|
||||
uxlogger.Log(std::format("Read0 header error: {}", errno));
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Read header error: {}", error));
|
||||
uxlogger.Error(std::format("Read header error: {}", error));
|
||||
break;
|
||||
}
|
||||
if (rsize < msgHeaderSize) {
|
||||
uxlogger.Log(std::format("Read only {} from {} bytes", rsize, msgHeaderSize));
|
||||
uxlogger.Error(std::format("Read only {} from {} bytes", rsize, msgHeaderSize));
|
||||
break;
|
||||
}
|
||||
MessageHeader header;
|
||||
auto decodeRes = header.Decode(rawHeader);
|
||||
if (!decodeRes) {
|
||||
uxlogger.Log(std::format("Decode header error: {}", decodeRes.error()));
|
||||
uxlogger.Error(std::format("Decode header error: {}", decodeRes.error()));
|
||||
}
|
||||
auto pSize = header.PayloadSize();
|
||||
uxlogger.Log(std::format("Receive message with size {}", pSize));
|
||||
uxlogger.Error(std::format("Receive message with size {}", pSize));
|
||||
if (pSize == 0) {
|
||||
continue;
|
||||
}
|
||||
@@ -111,14 +110,14 @@ void UxClient::RecvMessages(void) {
|
||||
if ((rsize = recv(sock, rawMessage.data(), rawMessage.size(), MSG_WAITALL)) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Read message error: {}", error));
|
||||
uxlogger.Error(std::format("Read message error: {}", error));
|
||||
break;
|
||||
}
|
||||
uxcontrol::SimpleMessage meta;
|
||||
meta.ParseFromString(rawMessage);
|
||||
auto metaPart = meta.meta();
|
||||
auto kind = metaPart.kind();
|
||||
uxlogger.Debug(std::format("Received message kind of {}", kind));
|
||||
uxlogger.Debug(std::format("Received message kind: {}", kind));
|
||||
|
||||
if (kind == tunAddressMsg) {
|
||||
uxcontrol::AddressMessage addrMessage;
|
||||
@@ -176,7 +175,8 @@ void UxClient::SendMessages(void) {
|
||||
while (true) {
|
||||
auto readRes = interface.Read();
|
||||
if (!readRes) {
|
||||
uxlogger.Log(std::format("Read packet error: {}", readRes.error()));
|
||||
uxlogger.Error(std::format("Read packet error: {}", readRes.error()));
|
||||
break;
|
||||
}
|
||||
auto packet = readRes.value();
|
||||
|
||||
@@ -199,10 +199,10 @@ void UxClient::SendMessages(void) {
|
||||
if ((wsize = send(sock, rawPacket.data(), rawPacket.size(), 0)) < 0) {
|
||||
int errnoCopy = errno;
|
||||
std::string error = std::strerror(errnoCopy);
|
||||
uxlogger.Log(std::format("Write packet error: {}", error));
|
||||
uxlogger.Error(std::format("Write packet error: {}", error));
|
||||
break;
|
||||
}
|
||||
uxlogger.Log("Send message");
|
||||
uxlogger.Debug("Send internet message");
|
||||
}
|
||||
done.release();
|
||||
return;
|
||||
@@ -247,7 +247,7 @@ std::expected<void, std::string> UxClient::Run(void) {
|
||||
recvThr.detach();
|
||||
|
||||
done.acquire();
|
||||
uxlogger.Log("Client done");
|
||||
uxlogger.Info("Client done");
|
||||
return {};
|
||||
}
|
||||
|
||||
|
||||
+2
-16
@@ -15,21 +15,7 @@ UxLogger uxlogger;
|
||||
|
||||
static std::mutex mtx;
|
||||
|
||||
UxLogger::UxLogger(const std::string ilabel) {
|
||||
label = ilabel;
|
||||
}
|
||||
|
||||
UxLogger::UxLogger(void) {
|
||||
label = "global";
|
||||
}
|
||||
|
||||
void UxLogger::Log(const std::string& message) {
|
||||
auto now = std::chrono::system_clock::now();
|
||||
std::chrono::zoned_time localnow{std::chrono::current_zone(), now};
|
||||
std::string timenow = std::format("{:%Y-%m-%dT%H:%M:%OS%Z}", localnow);
|
||||
std::lock_guard<std::mutex> lock(mtx);
|
||||
std::cout << std::format("{} {} {}\n", timenow, label, message);
|
||||
}
|
||||
UxLogger::UxLogger(void) {}
|
||||
|
||||
void UxLogger::Debug(const std::string& message) {
|
||||
LogLevel("debug", message);
|
||||
@@ -52,6 +38,6 @@ void UxLogger::LogLevel(const std::string level, const std::string& message) {
|
||||
std::chrono::zoned_time localnow{std::chrono::current_zone(), now};
|
||||
std::string timenow = std::format("{:%Y-%m-%dT%H:%M:%OS%Z}", localnow);
|
||||
std::lock_guard<std::mutex> lock(mtx);
|
||||
std::cout << std::format("{} {} {} {}\n", timenow, level, label, message);
|
||||
std::cout << std::format("{} [{}] {}\n", timenow, level, message);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,9 +13,7 @@ private:
|
||||
std::string label;
|
||||
void LogLevel(const std::string level, const std::string& message);
|
||||
public:
|
||||
UxLogger(std::string ilabel);
|
||||
UxLogger();
|
||||
void Log(const std::string& message);
|
||||
void Debug(const std::string& message);
|
||||
void Info(const std::string& message);
|
||||
void Warning(const std::string& message);
|
||||
|
||||
Reference in New Issue
Block a user