# c_logger **Repository Path**: bltzmnn/c_logger ## Basic Information - **Project Name**: c_logger - **Description**: 一个简单的C语言日志控制系统 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-13 - **Last Updated**: 2025-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C语言日志控制系统 ## 功能说明 这个日志系统具有以下特点: 1. **多级日志**:提供TRACE、DEBUG、INFO、WARN、ERROR、FATAL六种日志级别,可以灵活控制日志输出的详细程度。 2. **灵活配置**: - 可设置日志输出级别 - 可输出到标准输出或文件 - 可选择是否显示时间戳 - 支持彩色输出(在终端中) - 可显示源文件、行号和函数名 3. **易用性**:提供宏定义简化日志调用,如`log_info()`、`log_error()`等。 4. **性能优化**:当日志级别低于配置级别时,不会执行任何日志输出操作,减少不必要的开销。 ## 使用方法 1. 初始化日志系统: ```c logger_init(LOG_DEBUG, NULL, 1, 0, 1); ``` 这里设置为DEBUG级别,输出到标准输出,启用时间戳和颜色。 2. 记录日志: ```c log_info("连接到服务器: %s:%d", server_ip, port); log_error("文件打开失败: %s", strerror(errno)); ``` 3. 动态调整日志级别: ```c logger_set_level(LOG_WARN); // 只显示WARN及以上级别的日志 ``` 4. 输出到文件: ```c FILE *log_file = fopen("app.log", "w"); logger_init(LOG_DEBUG, log_file, 1, 0, 0); // 禁用文件输出的颜色 ``` ## 编译和运行 使用以下命令编译示例程序: ```bash gcc -o logger_demo logger.c main.c ``` 运行程序后,你将看到不同级别的日志输出,并且可以观察到动态调整日志级别的效果。 这个日志系统设计简洁,易于集成到各种C语言项目中,同时提供了足够的灵活性来满足不同场景的需求。