File: Logger.cpp

package info (click to toggle)
aquamarine 0.10.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 664 kB
  • sloc: cpp: 8,508; makefile: 13; sh: 4
file content (35 lines) | stat: -rw-r--r-- 1,051 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "Logger.hpp"
#include "../include/Shared.hpp"

using namespace Aquamarine;

static Hyprutils::CLI::eLogLevel levelToHU(eBackendLogLevel l) {
    switch (l) {
        case Aquamarine::AQ_LOG_DEBUG: return Hyprutils::CLI::LOG_DEBUG;
        case Aquamarine::AQ_LOG_ERROR: return Hyprutils::CLI::LOG_ERR;
        case Aquamarine::AQ_LOG_WARNING: return Hyprutils::CLI::LOG_WARN;
        case Aquamarine::AQ_LOG_CRITICAL: return Hyprutils::CLI::LOG_CRIT;
        case Aquamarine::AQ_LOG_TRACE: return Hyprutils::CLI::LOG_TRACE;
    }
    return Hyprutils::CLI::LOG_DEBUG;
}

CLogger::CLogger() = default;

void CLogger::updateLevels() {
    const auto IS_TRACE = Aquamarine::isTrace();
    if (m_loggerConnection && IS_TRACE)
        m_loggerConnection->setLogLevel(Hyprutils::CLI::LOG_TRACE);
}

void CLogger::log(eBackendLogLevel level, const std::string& str) {
    if (m_logFn) {
        m_logFn(level, str);
        return;
    }

    if (m_loggerConnection) {
        m_loggerConnection->log(levelToHU(level), str);
        return;
    }
}