| 53 | } |
| 54 | |
| 55 | void Log::write(const QString &log, |
| 56 | Severity severity, |
| 57 | util::source_location location, |
| 58 | LoggingMode mode) |
| 59 | { |
| 60 | if(severity < minSeverity) |
| 61 | return; |
| 62 | |
| 63 | QString msg = useSimpleFormat ? log : prepareDebugMessage(log, location); |
| 64 | QString sev; |
| 65 | QString sevSimple; |
| 66 | QString color; |
| 67 | bool useStdErr = false; |
| 68 | |
| 69 | switch(severity) |
| 70 | { |
| 71 | case Debug: |
| 72 | sev = "DBG"; |
| 73 | sevSimple = "debug: "; |
| 74 | color = C_FAINTWHITE; |
| 75 | break; |
| 76 | case Info: |
| 77 | sev = "INF"; |
| 78 | sevSimple = "info: "; |
| 79 | color = C_WHITE; |
| 80 | break; |
| 81 | case Kernel: |
| 82 | sev = "KNL"; |
| 83 | sevSimple = "kernel: "; |
| 84 | color = C_CYAN; |
| 85 | break; |
| 86 | case Warning: |
| 87 | sev = "WRN"; |
| 88 | sevSimple = "warning: "; |
| 89 | color = C_YELLOW; |
| 90 | useStdErr = true; |
| 91 | break; |
| 92 | case Error: |
| 93 | sev = "ERR"; |
| 94 | sevSimple = "error: "; |
| 95 | color = C_RED; |
| 96 | useStdErr = true; |
| 97 | break; |
| 98 | case Critical: |
| 99 | sev = "WTF"; |
| 100 | sevSimple = "critical: "; |
| 101 | color = C_BACKRED; |
| 102 | useStdErr = true; |
| 103 | break; |
| 104 | } |
| 105 | |
| 106 | QString formattedLog; |
| 107 | if(useSimpleFormat) |
| 108 | formattedLog = QString("%1%2").arg(sevSimple).arg(msg); |
| 109 | else |
| 110 | formattedLog = QString("[%1] [%2] %3").arg(QTime::currentTime().toString("hh:mm:ss.zzz")).arg(sev).arg(msg); |
| 111 | |
| 112 | if(coloredOutput) |
no test coverage detected