Log Viewer
Laravel Log Viewer 是一个优雅的 Laravel 日志查看器,提供了一个漂亮的用户界面来查看和管理你的 Laravel 应用日志。本项目已经集成了这个扩展包,让你可以更方便地查看和管理日志。
功能特点
- 📂 查看所有 Laravel 日志:轻松浏览
storage/logs
目录中的所有日志文件 - 📂 支持多种日志类型:支持 Horizon、Apache、Nginx、Redis、Supervisor、Postgres 等日志
- 🔍 强大的搜索功能:快速搜索和定位日志内容
- 🎚 日志级别过滤:按照日志级别(error、info、debug 等)进行筛选
- 🔗 可分享的链接:支持生成指向特定日志条目的链接
- 🌑 暗黑模式:支持明暗主题切换
- 📱 移动端适配:完美支持移动设备访问
- 🖥️ 多主机支持:可以查看多个服务器的日志
- ⌨️ 键盘快捷键:支持键盘操作,提高使用效率
- 💾 文件管理:支持在界面中下载和删除日志文件
- ☑️ Horizon 集成:支持 Horizon 日志(支持到 Horizon v9.20)
- ☎️ API 支持:提供文件夹、文件和日志条目的 API 访问
- 💌 邮件预览:支持预览发送到日志的邮件内容
配置说明
本项目已经预配置了 Log Viewer,你可以通过以下环境变量来控制其行为:
ini
LOG_VIEWER_ENABLED=true
LOG_VIEWER_PATH=log-viewer # 访问路径
LOG_VIEWER_HIDE_ENVIRONMENT=false
LOG_VIEWER_MAX_DAYS=7 # 保留天数
访问控制
默认情况下,Log Viewer 的访问是受限的。在本项目中,只有特定邮箱的用户才能访问日志查看器。这是通过 app/Providers/AppServiceProvider.php
中的 boot
方法配置的:
php
use Opcodes\LogViewer\Facades\LogViewer;
public function boot()
{
LogViewer::auth(function ($request) {
return $request->user()
&& in_array($request->user()->email, [
'zhaiyuxin103@hotmail.com',
]);
});
}
这段配置确保只有指定的邮箱用户可以访问日志查看器,提供了额外的安全保护。如果需要添加其他授权用户,只需在数组中添加相应的邮箱地址。
使用方法
访问日志查看器
安装完成后,你可以通过访问以下 URL 来查看日志:
https://laravel.test/log-viewer
基本操作
查看日志文件
- 在左侧边栏选择日志文件
- 使用文件筛选器快速定位文件
搜索日志
- 使用顶部搜索框搜索日志内容
- 支持正则表达式搜索
过滤日志级别
- 点击顶部的日志级别标签进行筛选
- 可以组合多个级别进行过滤
高级功能
分享日志条目
https://laravel.test/log-viewer/logs/laravel.log?id=12345
下载日志文件
- 点击文件列表中的下载按钮
- 支持单文件和多文件下载
实时日志监控
- 启用自动刷新功能
- 设置刷新间隔时间
安全建议
访问控制
- 限制只有管理员可以访问
- 在生产环境中谨慎配置权限
日志清理
- 定期清理旧日志文件
- 配置合适的日志保留时间
敏感信息保护
- 确保日志中不包含敏感信息
- 使用日志脱敏功能
最佳实践
日志管理
- 合理设置日志级别
- 定期检查和清理日志
- 配置日志轮转策略
性能优化
- 避免保留过多历史日志
- 使用适当的日志驱动
- 配置合理的刷新间隔
团队协作
- 统一日志记录规范
- 建立日志查看流程
- 及时响应异常日志
故障排除
日志不显示
- 检查文件权限设置
- 验证日志文件路径
- 确认日志格式正确
访问权限问题
- 检查中间件配置
- 验证用户权限设置
- 确认路由是否正确