# logsystem **Repository Path**: suhuamo/logsystem ## Basic Information - **Project Name**: logsystem - **Description**: 学习c++的简单日志系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-22 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Cpp, 日志, demo ## README # logsystem C++ 实现的一个简单线程安全的日志系统,支持异步写入文件和彩色控制台输出。 ## 特性 - 线程安全 - 异步日志写入 - 支持多种日志级别:DEBUG、INFO、WARN、ERROR - 彩色控制台输出 - 格式化字符串支持(使用 `{}` 占位符) ## 作为第三方库使用 ### 1. 添加为 Git Submodule 在你的项目根目录下运行: ```bash git submodule add https://gitee.com/suhuamo/logsystem.git libs/logsystem git submodule update --init --recursive ``` #### 更新 Submodule 当 logsystem 项目有更新时,在你的项目中同步更新: ```bash # 更新所有 submodule 到最新版本 git submodule update --remote # 或者进入 submodule 目录手动更新 cd libs/logsystem git pull origin main # 假设主分支是 main cd .. # 提交 submodule 的引用更新 git add libs/logsystem git commit -m "Update logsystem submodule" ``` ### 2. 集成到 CMake 项目 在你的 `CMakeLists.txt` 中添加: ```cmake # 添加子目录 add_subdirectory(libs/logsystem) # 链接库(这会自动添加包含路径) target_link_libraries(your_target logsystem) ``` **注意**:确保在 IDE(如 CLion)中重新加载 CMake 项目,以识别新的包含路径。如果 `#include "Logger.h"` 仍显示错误,请检查 CMake 配置是否正确应用。 ### 3. 在代码中使用 ```cpp #include #include "Logger.h" int main() { try { Logger logger("log.txt"); logger.debug("应用启动..."); logger.info("用户年龄:{} 岁", 18); logger.warn("警告信息:{}", "小心"); logger.error("错误信息:{}", "出错了"); // 支持多个参数 logger.debug("年龄:{},金额:{},单词:{}", 18, 18.7, "word"); } catch (const std::exception &ex) { std::cout << "日志错误: " << ex.what() << std::endl; } return 0; } ``` ## 输出效果 控制台输出(带颜色): ``` [DEBUG] [2023-10-01 12:00:00:123] 应用启动... [INFO] [2023-10-01 12:00:00:124] 用户年龄:18 岁 [WARN] [2023-10-01 12:00:00:125] 警告信息:小心 [ERROR] [2023-10-01 12:00:00:126] 错误信息:出错了 [DEBUG] [2023-10-01 12:00:00:127] 年龄:18,金额:18.7,单词:word ``` 文件 `log.txt` 中的内容(无颜色): ``` [DEBUG] [2023-10-01 12:00:00:123] 应用启动... [INFO] [2023-10-01 12:00:00:124] 用户年龄:18 岁 [WARN] [2023-10-01 12:00:00:125] 警告信息:小心 [ERROR] [2023-10-01 12:00:00:126] 错误信息:出错了 [DEBUG] [2023-10-01 12:00:00:127] 年龄:18,金额:18.7,单词:word ``` ## 构建和安装 ```bash mkdir build cd build cmake .. make make install # 可选,用于系统级安装 ``` ### 构建示例 项目包含一个示例程序,用于测试日志系统: ```bash # 在构建时会自动构建示例(默认开启) cmake .. make # 运行示例 ./example/test ``` 如果不想构建示例,可以在 CMake 时关闭: ```bash cmake -DBUILD_EXAMPLE=OFF .. ``` ## 许可证 请查看 LICENSE 文件。