From e195e51c1bd4b17398ec6964f30751b6a54bbb44 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 14 Nov 2023 20:06:04 +0000 Subject: logging: move to an internal rolling log buffer disables logging to the logfile by default --- src/debug/Log.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/debug/Log.cpp') diff --git a/src/debug/Log.cpp b/src/debug/Log.cpp index 98eeebc9..404904a2 100644 --- a/src/debug/Log.cpp +++ b/src/debug/Log.cpp @@ -10,25 +10,24 @@ void Debug::init(const std::string& IS) { } void Debug::wlrLog(wlr_log_importance level, const char* fmt, va_list args) { - if (disableLogs && *disableLogs) - return; - if (level > wlr_log_get_verbosity()) return; - char* outputStr = nullptr; - - std::ofstream ofs; - ofs.open(logFile, std::ios::out | std::ios::app); + char* outputStr = nullptr; vasprintf(&outputStr, fmt, args); std::string output = std::string(outputStr); free(outputStr); - ofs << "[wlr] " << output << "\n"; + rollingLog += output + "\n"; - ofs.close(); + if (!disableLogs || !*disableLogs) { + std::ofstream ofs; + ofs.open(logFile, std::ios::out | std::ios::app); + ofs << "[wlr] " << output << "\n"; + ofs.close(); + } if (!disableStdout) std::cout << output << "\n"; -- cgit v1.2.3