Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "lib/ArtNet"]
path = lib/ArtNet
url = https://github.com/psxde/ArtNet.git
path = lib/ArtNet
url = https://github.com/psxde/ArtNet.git
[submodule "lib/AsyncWebServer_ESP32_W5500"]
path = lib/AsyncWebServer_ESP32_W5500
url = https://github.com/psxde/AsyncWebServer_ESP32_W5500.git
path = lib/AsyncWebServer_ESP32_W5500
url = https://github.com/psxde/AsyncWebServer_ESP32_W5500.git
57 changes: 57 additions & 0 deletions src/log.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#include "log.h"

const char *getLogLevelString(log_level level)
{
switch (level)
{
case EMERGENCY:
return "EMRG";
case ALERT:
return "ALRT";
case CRITICAL:
return "CRIT";
case ERROR:
return "EROR";
case WARNING:
return "WRNG";
case NOTICE:
return "NOTI";
case INFO:
return "INFO";
case DEBUG:
return "DEBG";
default:
return "UKWN";
}
}

void setupLogger()
{
Serial.begin(9600);
while (!Serial)
{
// updateLed();
}
// delay(5000);
Serial.println("Logger initialized");
}

void writeSerialLog(const log_level level, const char *tag, const unsigned long timestamp, const char *formattedMessage)
{
Serial.printf("[%s][%s](%d)> %s\n", getLogLevelString(level), tag, timestamp, formattedMessage);
}

void logMessage(const log_level level, const char *tag, const char *message, ...)
{
const unsigned long timestamp = millis();
va_list args;
va_start(args, message);
int size = vsnprintf(nullptr, 0, message, args);
char *messageBuffer = new char[size + 1];
vsnprintf(messageBuffer, size + 1, message, args);
va_end(args);

writeSerialLog(level, tag, timestamp, messageBuffer);

delete[] messageBuffer;
}
27 changes: 27 additions & 0 deletions src/log.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#include <Arduino.h>

enum log_level
{
EMERGENCY,
ALERT,
CRITICAL,
ERROR,
WARNING,
NOTICE,
INFO,
DEBUG
};

namespace tag
{
const char *const SYSTEM = "SYS";
const char *const DMX = "DMX";
const char *const ARTNET = "ART";
const char *const SERVER = "SVR";
const char *const WIFI = "WIF";
const char *const ETHERNET = "ETH";
const char *const CONFIG = "CNF";
}

void setupLogger();
void logMessage(const log_level level, const char *tag, const char *message, ...);
Loading