IDLog开源项目

我要开发同款
ID2026年01月16日
21阅读

技术信息

语言技术
C++
系统类型
Windows
行业分类
开发工具
开源地址
https://github.com/Inverse-Dark/IDLog.git
授权协议
MIT许可

功能介绍

InverseDarkLog(IDLog)是面向高并发场景设计的高性能轻量级 C++ 日志库,支持 Windows、Linux、macOS 跨平台部署,依托 CMake 易集成,同时兼容类 Log4j/Logback 风格的易用 API。
一、核心功能模块
1 核心模块:负责 Logger 对象的创建、管理,管控父子 Logger 继承关系,处理 TRACE/DEBUG/INFO/WARN/ERROR/FATAL 六级日志级别调度,是所有日志操作的核心入口。
2 输出器模块:包含 ConsoleAppender(控制台彩色输出)、FileAppender(带缓冲区的滚动文件输出)、AsyncAppender(无锁异步队列包装器,剥离 I/O 对业务线程的影响)。
3 格式化模块:PatternFormatter 支持自定义日志格式,可覆盖时间、线程 ID、日志级别等维度。
4 过滤模块:按日志级别、范围等条件筛选日志,减少无效输出。
5 工具模块:通过时间缓存、零拷贝等优化手段,降低 CPU 消耗与系统调用频次。
6 配置模块:支持.ini 配置文件加载,且适配配置热更新,无需重启进程即可调整日志策略。
7 测试示例模块:含全维度测试用例保障稳定性,以及多场景示例代码助力快速上手。
二、主要功能特性
1 高性能:异步日志采用无锁队列设计,单线程同步写入 QPS 达 56 万 +,异步写入达 170 万 +,I/O 缓冲等优化解决高频日志性能瓶颈。
2 功能丰富:六级日志分级管控,控制台 / 文件 / 异步多输出方式适配不同场景,灵活的过滤与格式化满足多样化日志规范。
3 配置灵活:支持代码组装组件或配置文件加载,父子 Logger 继承关系减少重复配置,配置热更新无需重启进程。
4 易集成使用:核心接口简洁、依赖少,跨平台兼容,异步日志可保障进程退出时日志完整落盘。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论