# logger_manager **Repository Path**: Tachi_Amber/logger_manager ## Basic Information - **Project Name**: logger_manager - **Description**: 本项目是基于 Qt 框架的多功能日志系统,核心支持 Qt 调试信息(qDebug 等)全局重定向,提供丰富输出方式:涵盖控制台、本地文件、QTextEdit/QPlainTextEdit 控件实时显示,以及 TCP、UDP 远程传输,系统支持日志颜色自定义,可按级别或场景差异化配置. - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-06 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Qt, Cpp ## README # LoggerManager 一个基于Qt的日志管理系统,提供多种日志输出方式和灵活的配置选项。 ## 功能特性 - 支持多种日志输出方式: - 控制台输出 (ConsoleAppender) - 文件记录 (FileAppender) - TCP网络传输 (TcpAppender) - UDP网络传输 (UdpAppender) - QTextEdit界面显示 (QTextEditAppender) - QPlainTextEdit界面显示 (QPlainTextEditAppender) - 支持日志级别过滤 - 支持自定义日志颜色显示 - 支持日志文件滚动和清理 - 支持网络连接自动重试 - 支持Qt消息重定向 ## 使用方法 ### 初始化日志系统 ```cpp // 初始化控制台日志 LoggerManager::instance()->initConsoleAppender("console", LogLevel::Info); // 初始化文件日志 LoggerManager::instance()->initFileAppender("/path/to/logs", "app", "file", LogLevel::Debug); // 初始化网络日志 LoggerManager::instance()->initTcpAppender("192.168.1.1", 514, "tcp", LogLevel::Warning); // 初始化界面日志 LoggerManager::instance()->initQPlainTextEditAppender(ui->plainTextEdit, "gui", LogLevel::Debug); ``` ### 启动和停止日志系统(重定向Qt输出) ```cpp // 启动日志系统 LoggerManager::instance()->startLogSystem(); // 停止日志系统 LoggerManager::instance()->stopLogSystem(); // 使能输出对象 LoggerManager::instance()->setAllEnable(); LoggerManager::instance()->setEnable(AppenderType::QTextEdit,true); ``` ### 记录日志 使用标准Qt日志函数: ```cpp qDebug() << "调试信息"; qInfo() << "普通信息"; qWarning() << "警告信息"; qCritical() << "严重错误"; ``` ## 配置选项 - 文件日志配置: - 设置最大文件数量 - 设置日志文件路径和名称 - 自动清理旧日志文件 - 网络日志配置: - 设置远程服务器地址和端口 - 设置编码格式 - 配置重试策略(重试次数和间隔) - 界面日志配置: - 设置最大显示行数 - 自定义日志颜色 ## 示例应用 项目包含一个示例GUI应用,演示了如何集成日志系统: - 显示日志到文本框 - 控制日志输出级别 - 切换不同日志输出方式 - 查看日志统计信息 ## 构建要求 - Qt 6或更高版本 - C++11支持 - 对于GUI示例:需要Qt Widgets模块 ## 许可证 本项目采用MIT许可证,详情请参见LICENSE文件。