feat: add additional logging and write to file

This commit is contained in:
2026-06-20 08:05:23 -03:00
parent 064f1701ee
commit 6c086b5307
3 changed files with 19 additions and 7 deletions
+14 -7
View File
@@ -1,6 +1,7 @@
#include "spoofer.h"
#include "utils.h"
#include "log-sink-cout.h"
#include "log-sink-file.h"
#include <regex>
#include <map>
@@ -35,18 +36,19 @@ Spoofer::Spoofer()
{
_log = new seallib::Logger("Spoofer");
_log->addSink(std::make_shared<ConOutSink>());
_log->addSink(FileSink::getSharedInstance());
_log->info("Spoofer init");
_log->verbose("Spoofer init");
loadConfig();
_log->info("Starting WebSocket server");
_log->verbose("Starting WebSocket server");
initServer();
}
Spoofer::~Spoofer()
{
_log->info("Stopping WebSocket server");
_log->verbose("Stopping WebSocket server");
stopServer();
delete _log;
@@ -133,6 +135,7 @@ void Spoofer::saveConfig()
std::string buffer;
auto errCtx = glz::write_file_json(conf, configPath, buffer);
if (errCtx.ec != glz::error_code::none) _log->error("Failed to save config to {}", configPath);
_log->verbose("Saved config @ config.json");
}
/*
@@ -175,7 +178,7 @@ void Spoofer::wsMessageCallback(std::shared_ptr<ix::ConnectionState> /*connectio
{
case ix::WebSocketMessageType::Open:
{
_log->verbose("Websocket connection open, URI: {}", msg->openInfo.uri);
_log->verbose("WebSocket connection open, URI: {}", msg->openInfo.uri);
WSMessages::Init initMsg;
initMsg.profile.camperItems = _camperItems;
initMsg.profile.camperAddons = _camperAddons;
@@ -203,7 +206,7 @@ void Spoofer::wsMessageCallback(std::shared_ptr<ix::ConnectionState> /*connectio
break;
}
case ix::WebSocketMessageType::Close:
_log->verbose("Websocket connection close");
_log->verbose("WebSocket connection close");
break;
case ix::WebSocketMessageType::Message:
{
@@ -211,7 +214,7 @@ void Spoofer::wsMessageCallback(std::shared_ptr<ix::ConnectionState> /*connectio
auto err = glz::read_json(req, msg->str);
if (err.ec != glz::error_code::none)
{
_log->error("Failed to parse websocket message");
_log->error("Failed to parse WebSocket message");
break;
}
switch (req.action)
@@ -330,13 +333,15 @@ void Spoofer::modifyCharacterInventory(glz::generic& js)
appendPerks(_slasherPerks);
}
appendItems(_globalOfferings);
_log->verbose("Modified inventory for character {}", js["characterName"].get_string());
}
void Spoofer::modifyCharacterData(glz::generic& js)
{
if (!js.contains("characterName") || !js["characterName"].is_string())
{
_log->verbose("attempted to modify invalid char");
_log->warning("Attempted to modify invalid character");
return;
}
@@ -371,6 +376,8 @@ void Spoofer::modifyCharacterData(glz::generic& js)
}
if (_spoofItems || _spoofPerks) modifyCharacterInventory(js);
_log->verbose("Modified data for character {}", js["characterName"].get_string());
}
void Spoofer::generateBloodweb(glz::generic& js)