# LogRedirect **Repository Path**: ZhongYunlong/log-redirect ## Basic Information - **Project Name**: LogRedirect - **Description**: 日志重定向到网络显示 - **Primary Language**: C++ - **License**: BSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-26 - **Last Updated**: 2024-12-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LogViewer LogViewer 是一个基于 Qt 的日志查看器应用程序,用于实时查看和记录应用程序的日志信息。它支持日志分类显示、自动保存、日志着色等功能。 ## 功能特点 - 实时日志查看 - 支持多种日志级别(Debug、Info、Warning、Error、Fatal) - 不同级别日志使用不同颜色显示 - 按类别自动分类显示(自动创建标签页) - 支持自动滚动 - 网络连接 - 支持 TCP 连接到日志服务器 - 自动重连功能 - 可配置服务器地址和端口 - 实时显示连接状态 - 日志文件管理 - 自动保存日志到文件 - 支持按大小滚动日志文件 - 可配置最大文件数量 - 支持打开历史日志文件 - 配置功能 - 服务器连接设置 - 日志文件保存路径 - 日志文件大小限制 - 日志文件数量限制 - 配置自动保存和加载 ## 使用方法 ### 基本操作 1. 启动程序 2. 点击"开始"按钮连接到日志服务器 3. 日志会自动按类别分类显示在不同标签页 4. 使用"停止"按钮停止接收日志 5. 使用"清空"按钮清除当前显示的日志 ### 配置设置 1. 点击"工具->配置"打开配置对话框 2. 设置服务器地址和端口 3. 配置日志文件保存路径 4. 设置日志文件大小限制和数量限制 5. 点击确定保存配置 ### 查看历史日志 1. 点击"文件->打开日志文件" 2. 选择要查看的日志文件 3. 日志会按原格式显示在相应标签页中 ## 日志格式 日志消息格式为: ``` Level|Timestamp|Category|Message|Context ``` 示例: ``` Debug|2024-03-21 15:30:45.123|Network|Connection established|network.cpp:123:connectToHost ``` ### 格式说明 - Level: 日志级别(Debug、Info、Warning、Error、Fatal) - Timestamp: 时间戳 (yyyy-MM-dd HH:mm:ss.zzz) - Category: 日志类别,使用 [Category] 格式在消息开头指定 - Message: 日志内容 - Context: 文件名:行号:函数名(可选) ### 日志分类 可以在日志消息中使用 [类别] 前缀来指定日志类别,例如: ``` qDebug() << "[Network] Connected to server"; qWarning() << "[Database] Connection timeout"; ``` ## 项目结构 - `logredirect.h/cpp`: 日志重定向服务器实现 - `logviewer.h/cpp`: 日志查看器主界面实现 - `logfilewriter.h/cpp`: 日志文件写入管理 - `configdialog.h/cpp`: 配置对话框实现 - `main.cpp`: 程序入口 ## 编译要求 - Qt 5.x 或更高版本 - C++11 或更高版本 ## 构建步骤 1. 使用 Qt Creator 打开 LogViewer.pro 2. 配置构建环境 3. 点击构建按钮 或者使用命令行: ```bash qmake LogViewer.pro make ``` ## 使用示例 ### 服务端(日志产生端) ```cpp #include "logredirect.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 启动日志重定向服务器 LogRedirect::instance().start(); // 使用 Qt 日志系统 qDebug() << "[Network] Debug message"; qInfo() << "[Database] Info message"; qWarning() << "[UI] Warning message"; return a.exec(); } ``` ### 客户端(日志查看端) 1. 启动 LogViewer 2. 配置服务器地址和端口(默认为 localhost:6000) 3. 点击"开始"按钮连接到日志服务器 4. 日志会自动按类别分类显示 ## 注意事项 1. 日志服务器默认监听 6000 端口,可以通过配置修改 2. 日志文件默认保存在 "logs" 目录下 3. 建议定期清理旧的日志文件 4. 如果遇到连接问题,请检查防火墙设置 ## 许可证 本项目采用 MIT 许可证 ## 贡献 欢迎提交问题和改进建议! 1. Fork 该项目 2. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开一个 Pull Request