|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#ifndef VERBOSE_LOGGING
|
|
|
|
#define VERBOSE_LOGGING 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef LOG_EOL
|
|
|
|
#define LOG_EOL "\n"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print a startup banner message (printf syntax)
|
|
|
|
* Uses bright green color
|
|
|
|
*/
|
|
|
|
#define banner(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, LOG_EOL "\x1b[32;1m[i] " fmt "\x1b[0m" LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Same as 'info()', but enabled even if verbose logging is disabled.
|
|
|
|
* This can be used to print version etc under the banner.
|
|
|
|
*/
|
|
|
|
#define banner_info(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, "\x1b[32m[i] " fmt "\x1b[0m"LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Empty line in the headers
|
|
|
|
*/
|
|
|
|
#define banner_gap() \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, LOG_EOL); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
#if VERBOSE_LOGGING
|
|
|
|
/**
|
|
|
|
* Print a debug log message (printf format)
|
|
|
|
*/
|
|
|
|
#define dbg(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, "[ ] " fmt LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print a info log message (printf format)
|
|
|
|
* Uses bright green color
|
|
|
|
*/
|
|
|
|
#define info(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, "\x1b[37;1m[i] " fmt "\x1b[0m"LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
#else
|
|
|
|
#define dbg(fmt, ...)
|
|
|
|
#define info(fmt, ...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print a error log message (printf format)
|
|
|
|
* Uses bright red color
|
|
|
|
*/
|
|
|
|
#define error(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, "\x1b[31;1m[E] " fmt "\x1b[0m"LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print a warning log message (printf format)
|
|
|
|
* Uses bright yellow color
|
|
|
|
*/
|
|
|
|
#define warn(fmt, ...) \
|
|
|
|
do { \
|
|
|
|
fprintf(stderr, "\x1b[33;1m[W] " fmt "\x1b[0m"LOG_EOL, ##__VA_ARGS__); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
// --------------- logging categories --------------------
|
|
|
|
|
|
|
|
#ifndef DEBUG_ESPFS
|
|
|
|
#define DEBUG_ESPFS 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef DEBUG_HEATSHRINK
|
|
|
|
#define DEBUG_HEATSHRINK 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef DEBUG_MALLOC
|
|
|
|
#define DEBUG_MALLOC 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// filesystem
|
|
|
|
#if DEBUG_ESPFS
|
|
|
|
#define espfs_warn(...) warn(__VA_ARGS__)
|
|
|
|
#define espfs_dbg(...) dbg(__VA_ARGS__)
|
|
|
|
#define espfs_error(...) error(__VA_ARGS__)
|
|
|
|
#define espfs_info(...) info(__VA_ARGS__)
|
|
|
|
#else
|
|
|
|
#define espfs_dbg(...)
|
|
|
|
#define espfs_warn(...)
|
|
|
|
#define espfs_error(...)
|
|
|
|
#define espfs_info(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// captive portal
|
|
|
|
#if DEBUG_HEATSHRINK
|
|
|
|
#define heatshrink_warn(...) warn(__VA_ARGS__)
|
|
|
|
#define heatshrink_dbg(...) dbg(__VA_ARGS__)
|
|
|
|
#define heatshrink_error(...) error(__VA_ARGS__)
|
|
|
|
#define heatshrink_info(...) info(__VA_ARGS__)
|
|
|
|
#else
|
|
|
|
#define heatshrink_dbg(...)
|
|
|
|
#define heatshrink_warn(...)
|
|
|
|
#define heatshrink_error(...)
|
|
|
|
#define heatshrink_info(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// all malloc usage
|
|
|
|
#if DEBUG_MALLOC
|
|
|
|
#define mem_dbg(...) dbg(__VA_ARGS__)
|
|
|
|
#else
|
|
|
|
#define mem_dbg(...)
|
|
|
|
#endif
|