made logging cheaper

This commit is contained in:
vaxerski 2021-12-10 23:42:24 +01:00
parent 158260c0ec
commit 21eab55ffb
4 changed files with 10 additions and 10 deletions

View file

@ -30,6 +30,7 @@ int main(int argc, char** argv) {
const int BARRET = barMainThread();
Debug::log(BARRET == 0 ? LOG : ERR, "Bar exited with code " + std::to_string(BARRET) + "!");
g_pWindowManager->DebugOfstream.close();
return 0;
}
@ -73,6 +74,8 @@ int main(int argc, char** argv) {
xcb_disconnect(g_pWindowManager->DisplayConnection);
g_pWindowManager->DebugOfstream.close();
if (const auto err = xcb_connection_has_error(g_pWindowManager->DisplayConnection); err != 0) {
Debug::log(CRIT, "Exiting because of error " + std::to_string(err));
return err;

View file

@ -1,5 +1,6 @@
#include "Debug.hpp"
#include <fstream>
#include "../windowManager.hpp"
void Debug::log(LogLevel level, std::string msg) {
switch (level)
@ -26,14 +27,5 @@ void Debug::log(LogLevel level, std::string msg) {
printf((msg + "\n").c_str());
// also log to a file
const char* const ENVHOME = getenv("HOME");
const std::string DEBUGPATH = ENVHOME + (std::string) "/.hypr.log";
std::ofstream ofs;
ofs.open(DEBUGPATH, std::ios::out | std::ios::app);
ofs << msg << "\n";
ofs.close();
g_pWindowManager->DebugOfstream << msg << "\n";
}

View file

@ -30,6 +30,10 @@ void CWindowManager::createAndOpenAllPipes() {
system("cat \" \" > /tmp/hypr/hyprbarout");
system("cat \" \" > /tmp/hypr/hyprbarind");
system("cat \" \" > /tmp/hypr/hyprbaroutd");
// open the debug file
const std::string DEBUGPATH = "/tmp/hypr/hypr.log";
DebugOfstream.open(DEBUGPATH, std::ios::out | std::ios::app);
}
void CWindowManager::updateRootCursor() {

View file

@ -22,6 +22,7 @@
class CWindowManager {
public:
std::ofstream DebugOfstream;
xcb_connection_t* DisplayConnection = nullptr;
xcb_ewmh_connection_t* EWMHConnection = nullptr; // Bar uses this
xcb_screen_t* Screen = nullptr;