Skip to content

系统日志

系统日志是 Yuan-ICP 系统的重要组成部分,用于记录系统运行过程中的各种操作和事件,帮助管理员监控系统状态、排查问题和审计用户操作。

📋 功能概览

系统日志模块提供以下核心功能:

  • 操作日志:记录用户和管理员的操作行为
  • 系统日志:记录系统运行状态和错误信息
  • 安全日志:记录安全相关的事件和异常
  • 日志查询:支持多条件搜索和筛选
  • 日志导出:支持日志数据的导出功能

📊 日志类型说明

操作日志 (Operation Logs)

记录系统中所有用户和管理员的操作行为:

日志类型描述示例
用户登录记录用户登录时间和IP地址用户 admin 登录成功 (IP: 192.168.1.100)
备案申请记录用户提交备案申请用户提交备案申请: example.com
审核操作记录管理员审核备案申请管理员 admin 审核通过备案申请 #123
系统设置记录系统配置的修改管理员 admin 修改系统设置: 网站名称
公告管理记录公告的发布和修改管理员 admin 发布公告: 系统维护通知

系统日志 (System Logs)

记录系统运行过程中的状态信息和错误:

日志类型描述示例
系统启动记录系统启动时间系统启动成功 - 2024-01-15 10:00:00
数据库连接记录数据库连接状态数据库连接成功 - MySQL 8.0
邮件发送记录邮件发送状态邮件发送成功: user@example.com
错误信息记录系统运行错误PHP Fatal Error: 数据库查询失败
性能监控记录系统性能指标页面加载时间: 0.5秒

安全日志 (Security Logs)

记录安全相关的事件和异常行为:

日志类型描述示例
登录失败记录失败的登录尝试登录失败: 用户名 admin (IP: 192.168.1.100)
权限拒绝记录无权限访问尝试权限拒绝: 用户 user 访问管理页面
异常访问记录异常的访问行为异常访问: 来自未知IP的请求
文件上传记录文件上传操作文件上传: user.jpg (大小: 1.2MB)
数据修改记录重要数据的修改数据修改: 备案申请状态变更

🔍 日志查看功能

访问系统日志

  1. 登录后台管理系统
  2. 点击侧边栏"系统日志"
  3. 查看日志列表和统计信息

日志列表显示

列名描述说明
时间日志记录时间格式:YYYY-MM-DD HH:MM:SS
级别日志级别信息/警告/错误/调试
类型日志类型操作/系统/安全
用户操作用户用户名或IP地址
操作具体操作内容详细的操作描述
IP地址用户IP地址操作用户的网络地址

日志级别说明

级别描述颜色标识处理方式
信息正常的操作信息蓝色记录到数据库
警告需要注意的情况黄色记录到数据库,可能发送通知
错误系统错误或异常红色记录到数据库,发送告警通知
调试调试信息灰色仅在调试模式下记录

🔎 日志搜索和筛选

时间范围筛选

支持按时间范围筛选日志:

  • 今天:显示今天的日志记录
  • 昨天:显示昨天的日志记录
  • 最近7天:显示最近7天的日志记录
  • 最近30天:显示最近30天的日志记录
  • 自定义范围:选择特定的开始和结束时间

日志类型筛选

支持按日志类型筛选:

  • 全部类型:显示所有类型的日志
  • 操作日志:只显示用户操作相关的日志
  • 系统日志:只显示系统运行相关的日志
  • 安全日志:只显示安全相关的日志

日志级别筛选

支持按日志级别筛选:

  • 全部级别:显示所有级别的日志
  • 信息:只显示信息级别的日志
  • 警告:只显示警告级别的日志
  • 错误:只显示错误级别的日志

关键词搜索

支持在日志内容中搜索关键词:

  • 用户搜索:按用户名搜索
  • 操作搜索:按操作类型搜索
  • 内容搜索:按日志内容搜索
  • IP搜索:按IP地址搜索

📊 日志统计信息

实时统计

系统提供实时的日志统计信息:

统计项说明更新频率
今日日志数今天记录的日志总数实时更新
错误日志数今天记录的错误日志数实时更新
活跃用户数今天有操作的用户数实时更新
系统状态当前系统运行状态实时更新

趋势分析

支持查看日志趋势分析:

  • 日志数量趋势:按天/小时统计日志数量
  • 错误率趋势:统计错误日志的比例变化
  • 用户活跃度:统计用户操作频率
  • 系统性能:统计系统响应时间

📤 日志导出功能

导出格式

系统支持多种导出格式:

  • CSV格式:适合在Excel中打开和分析
  • JSON格式:适合程序处理和分析
  • TXT格式:纯文本格式,通用性好
  • XML格式:结构化数据格式

导出选项

支持自定义导出内容:

  • 时间范围:选择要导出的时间范围
  • 日志类型:选择要导出的日志类型
  • 日志级别:选择要导出的日志级别
  • 字段选择:选择要导出的字段

导出示例

csv
时间,级别,类型,用户,操作,IP地址
2024-01-15 10:00:00,信息,系统,系统,系统启动成功,-
2024-01-15 10:01:00,信息,操作,admin,用户登录成功,192.168.1.100
2024-01-15 10:02:00,信息,操作,admin,查看仪表盘,192.168.1.100
2024-01-15 10:03:00,信息,操作,admin,审核备案申请 #123,192.168.1.100

🚨 日志告警功能

告警规则

系统支持配置日志告警规则:

告警类型触发条件告警方式
错误日志过多1小时内错误日志超过10条邮件通知、系统提示
登录失败过多1小时内登录失败超过5次邮件通知、系统提示
异常访问检测到异常IP访问邮件通知、系统提示
系统性能下降页面响应时间超过5秒邮件通知、系统提示

告警配置

管理员可以自定义告警规则:

  • 告警阈值:设置触发告警的条件
  • 告警方式:选择邮件、短信等告警方式
  • 告警时间:设置告警的时间窗口
  • 告警级别:设置告警的严重程度

🔧 日志管理操作

日志清理

系统支持自动和手动日志清理:

自动清理

  • 保留时间:自动删除超过指定时间的日志
  • 清理频率:每天凌晨自动执行清理任务
  • 清理策略:根据日志级别采用不同的保留策略

手动清理

  • 选择性清理:手动选择要清理的日志
  • 批量清理:批量删除符合条件的日志
  • 清理确认:清理前需要管理员确认

日志备份

系统支持日志备份功能:

  • 自动备份:定期自动备份重要日志
  • 手动备份:管理员手动触发备份
  • 备份存储:备份文件存储到指定目录
  • 备份恢复:支持从备份文件恢复日志

📋 日志配置选项

日志记录配置

系统提供灵活的日志记录配置:

php
// 日志配置示例
$log_config = [
    'log_level' => 'info',           // 记录的最低日志级别
    'log_file' => 'system.log',      // 日志文件路径
    'max_file_size' => '10MB',       // 单个日志文件最大大小
    'max_files' => 10,               // 保留的日志文件数量
    'log_format' => 'detailed',      // 日志格式(简单/详细)
    'enable_database_log' => true,   // 是否记录到数据库
    'enable_file_log' => true,       // 是否记录到文件
    'log_retention_days' => 90,      // 日志保留天数
];

性能优化配置

针对高并发场景的性能优化配置:

php
// 性能优化配置
$performance_config = [
    'async_logging' => true,         // 启用异步日志记录
    'batch_size' => 100,             // 批量写入的日志数量
    'flush_interval' => 5,           // 刷新间隔(秒)
    'memory_limit' => '128M',        // 日志处理内存限制
    'enable_cache' => true,          // 启用日志缓存
];

🚨 故障排除

常见问题

1. 日志不记录

问题:系统操作没有记录到日志 解决方案

  • 检查日志配置是否正确
  • 确认日志目录权限设置
  • 检查数据库连接状态
  • 查看系统错误日志

2. 日志文件过大

问题:日志文件占用过多磁盘空间 解决方案

  • 启用日志轮转功能
  • 设置合理的日志保留时间
  • 定期清理旧日志文件
  • 调整日志记录级别

3. 日志查询缓慢

问题:日志查询响应时间过长 解决方案

  • 为日志表添加合适的索引
  • 优化日志查询语句
  • 启用日志缓存机制
  • 定期清理过期日志

4. 告警功能异常

问题:日志告警功能不工作 解决方案

  • 检查告警规则配置
  • 确认邮件发送配置
  • 查看告警执行日志
  • 测试告警触发条件

💡 最佳实践

日志记录原则

  1. 完整性:记录所有重要的操作和事件
  2. 准确性:确保日志信息的准确性和真实性
  3. 及时性:及时记录日志,避免信息丢失
  4. 安全性:保护敏感日志信息,防止泄露

日志管理建议

  1. 定期检查:定期检查系统日志,发现问题
  2. 及时清理:及时清理过期日志,释放存储空间
  3. 备份重要日志:备份重要的日志信息
  4. 监控告警:配置合适的告警规则,及时发现问题

性能优化建议

  1. 异步记录:使用异步方式记录日志,提高性能
  2. 批量处理:批量处理日志,减少I/O操作
  3. 合理索引:为日志表添加合适的数据库索引
  4. 定期维护:定期维护日志表,优化查询性能

📋 日志检查清单

功能检查

  • [ ] 日志记录功能正常
  • [ ] 日志查询功能正常
  • [ ] 日志导出功能正常
  • [ ] 日志清理功能正常
  • [ ] 告警功能正常

配置检查

  • [ ] 日志级别设置合理
  • [ ] 日志保留时间设置合理
  • [ ] 告警规则配置正确
  • [ ] 日志存储路径正确
  • [ ] 权限设置正确

性能检查

  • [ ] 日志查询响应时间合理
  • [ ] 日志文件大小合理
  • [ ] 磁盘空间使用合理
  • [ ] 数据库性能正常
  • [ ] 系统资源使用合理

📚 相关文档

🎯 总结

系统日志功能为 Yuan-ICP 提供了完整的操作记录和监控能力:

  1. 操作追踪:完整记录所有用户和管理员操作
  2. 问题排查:帮助快速定位和解决问题
  3. 安全审计:记录安全相关事件,提高系统安全性
  4. 性能监控:监控系统性能,及时发现问题

通过合理使用系统日志功能,您可以更好地监控系统状态、排查问题和保障系统安全。

基于 MIT 协议发布