# mini_log **Repository Path**: solawc/mini_log ## Basic Information - **Project Name**: mini_log - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-17 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mini_log 轻量级嵌入式日志库 (Lightweight Embedded Logging Library) ## 简介 mini_log 是一个专为嵌入式系统设计的轻量级日志库,提供了灵活的日志级别控制和自定义输出功能。该库占用资源少、接口简单,非常适合资源受限的嵌入式开发环境。 ## 功能特性 - **多级日志支持**:支持不同的日志级别 - **自定义输出**:可配置日志输出回调函数 - **格式化输出**:支持 printf 风格的格式化日志 - **缓冲区打印**:支持直接打印二进制数据缓冲区 - **动态级别控制**:支持运行时调整日志级别 ## API 接口 ### 初始化 ```c void log_init(log_level_t level, log_output_func_t output_func); ``` 初始化日志系统,设置默认日志级别和输出函数。 ### 设置日志级别 ```c void log_set_level(log_level_t level); ``` 动态调整日志输出级别。 ### 格式化日志输出 ```c void log_printf(log_level_t level, const char *fmt, ...); ``` printf 风格的格式化日志输出。 ### 缓冲区数据打印 ```c void log_print_buffer(log_level_t level, const uint8_t *data, uint32_t len); ``` 将二进制数据以十六进制形式打印,方便调试。 ## 使用示例 ```c #include "mini_log.h" // 自定义输出函数 void my_output(const uint8_t *data, uint16_t len) { // 发送数据到 UART、USB 或其他输出设备 uart_send(data, len); } int main(void) { // 初始化日志系统 log_init(LOG_LEVEL_DEBUG, my_output); // 设置日志级别 log_set_level(LOG_LEVEL_INFO); // 使用日志 log_printf(LOG_LEVEL_INFO, "System started\n"); log_printf(LOG_LEVEL_DEBUG, "Value: %d\n", 42); // 打印缓冲区 uint8_t buffer[] = {0x01, 0x02, 0x03, 0x04}; log_print_buffer(LOG_LEVEL_DEBUG, buffer, sizeof(buffer)); return 0; } ``` ## 日志级别 通常包含以下级别(根据具体实现): - `LOG_LEVEL_ERROR` - 错误信息 - `LOG_LEVEL_WARN` - 警告信息 - `LOG_LEVEL_INFO` - 一般信息 - `LOG_LEVEL_DEBUG` - 调试信息 ## 配置说明 可通过修改 `LOG_BUFF_SIZE` 调整日志缓冲区大小,以适应不同的系统资源需求。 ## 许可证 本项目遵循开源许可证,具体请查看项目根目录下的 LICENSE 文件。 ## 贡献指南 欢迎提交 Issue 和 Pull Request,共同完善这个项目。