45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
/*
|
|
* log_manager.h -- OreBolt OS v1.4 logging facade
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*
|
|
* Logs land at /data/vault/syslog.log (rotating, 64 KB max) and critical
|
|
* failures at /data/vault/failures.dat (binary, append-only).
|
|
*/
|
|
#ifndef LOG_MANAGER_H
|
|
#define LOG_MANAGER_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
LOG_TRACE = 0,
|
|
LOG_DEBUG,
|
|
LOG_INFO,
|
|
LOG_WARN,
|
|
LOG_ERROR,
|
|
LOG_FATAL
|
|
} log_level_t;
|
|
|
|
int log_init(const char *path);
|
|
void log_close(void);
|
|
void log_write(log_level_t lvl, const char *module, const char *fmt, ...);
|
|
|
|
/* Failure logging -- binary, durable, used by panic_purge_api.h. */
|
|
int log_failure_record(uint32_t code, const void *blob, size_t len);
|
|
|
|
#define LOG_TRC(fmt, ...) log_write(LOG_TRACE, __func__, fmt, ##__VA_ARGS__)
|
|
#define LOG_DBG(fmt, ...) log_write(LOG_DEBUG, __func__, fmt, ##__VA_ARGS__)
|
|
#define LOG_INF(fmt, ...) log_write(LOG_INFO, __func__, fmt, ##__VA_ARGS__)
|
|
#define LOG_WRN(fmt, ...) log_write(LOG_WARN, __func__, fmt, ##__VA_ARGS__)
|
|
#define LOG_ERR(fmt, ...) log_write(LOG_ERROR, __func__, fmt, ##__VA_ARGS__)
|
|
#define LOG_FTL(fmt, ...) log_write(LOG_FATAL, __func__, fmt, ##__VA_ARGS__)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* LOG_MANAGER_H */
|