30 lines
921 B
C
30 lines
921 B
C
#pragma once
|
|
|
|
#include <Arduino.h>
|
|
|
|
enum class LogLevel {
|
|
DEBUG = 0,
|
|
INFO = 1,
|
|
WARN = 2,
|
|
ERROR = 3
|
|
};
|
|
|
|
// Global log level - can be changed at runtime
|
|
extern LogLevel g_logLevel;
|
|
|
|
// Simple logging functions
|
|
void logMessage(LogLevel level, const String& component, const String& message);
|
|
void logDebug(const String& component, const String& message);
|
|
void logInfo(const String& component, const String& message);
|
|
void logWarn(const String& component, const String& message);
|
|
void logError(const String& component, const String& message);
|
|
|
|
// Set global log level
|
|
void setLogLevel(LogLevel level);
|
|
|
|
// Convenience macros - no context needed
|
|
#define LOG_DEBUG(component, message) logDebug(component, message)
|
|
#define LOG_INFO(component, message) logInfo(component, message)
|
|
#define LOG_WARN(component, message) logWarn(component, message)
|
|
#define LOG_ERROR(component, message) logError(component, message)
|