拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Laravel活动日志包laravel-logger完全解析:20+开箱即用功能节省90%审计开发时间

Laravel活动日志包laravel-logger完全解析20开箱即用功能节省90%审计开发时间【免费下载链接】laravel-loggerAn out the box activity logger for your Laravel or Lumen application. Laravel logger is an activity event logger for your laravel application. It comes out the box with ready to use with dashboard to view your activity. Laravel logger can be added as a middleware or called through a trait. This package is easily configurable and customizable. Supports Laravel 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 6, and 7项目地址: https://gitcode.com/gh_mirrors/la/laravel-loggerlaravel-logger是一个为 Laravel 和 Lumen 应用打造的活动日志Activity Logger包一条命令安装即可获得登录审计、访问日志、IP 记录、日志仪表盘与多格式导出等 20 多项开箱即用功能让 Laravel 活动日志开发时间节省 90%。一、laravel-logger 活动日志包能做什么无论是做用户行为审计、安全合规还是排查谁在什么时间访问了什么页面手动开发一套日志系统往往要写模型、迁移、中间件、仪表盘页面……而 laravel-logger 把这些全部打包好了能力分类具体功能 认证审计自动记录登录、登出、登录失败、账户锁定、密码重置、登录尝试 访问日志通过中间件记录页面访问、请求方法GET/POST/PUT/DELETE与路由 环境信息IP 地址、User-Agent、浏览器语言、来源页面Referer 爬虫识别自动识别爬虫crawler区分访客、注册用户与爬虫流量 可视化活动仪表盘、单条日志下钻详情、已清除日志独立面板 日志管理软删除机制清除 / 恢复 / 彻底销毁误删可找回 新增能力日期范围筛选、7 种预设周期、CSV / JSON / Excel 导出 国际化内置英语、德语、法语、葡萄牙语巴西、土耳其语语言包这些事件监听器分别位于 src/App/Listeners/ 目录如LogSuccessfulLogin.php、LogFailedLogin.php、LogLockout.php安装后自动注册无需任何配置。二、三步快速安装从 0 到可用日志系统前提Laravel 5.3 ~ 9PHP ≥ 7.3。第 1 步安装依赖在项目根目录执行composer require jeremykenedy/laravel-logger第 2 步运行迁移创建日志表php artisan migrate迁移文件见 src/database/migrations/2017_11_04_103444_create_laravel_logger_activity_table.php会自动创建laravel_logger_activity表包含描述、IP、User-Agent、请求方式、关联模型等 12 个字段并自带软删除。第 3 步打开仪表盘登录后台后访问/activity路由即可看到活动日志仪表盘——Laravel 5.5 支持服务自动发现全程不需要写一行注册代码。三、两种记录方式中间件 vs Trait方式 1中间件记录推荐零代码在路由组中加上activity中间件页面访问自动记录例如在routes/web.php中Route::group([middleware [web, activity]], function () { Route::get(/, WelcomeControllerwelcome)-name(welcome); });中间件逻辑在 src/App/Http/Middleware/LogActivity.php还支持在配置中设置排除列表跳过不想记录的 URL。方式 2Trait 记录可自定义描述在任意控制器或类中引入 trait即可手动记录任意事件支持附加详情与关联模型use jeremykenedy\LaravelLogger\App\Http\Traits\ActivityLogger; // 类内调用 ActivityLogger::activity(用户删除了订单, 订单号 #1024, [id 1, model App\Models\Order]);核心实现在 src/App/Http/Traits/ActivityLogger.php会自动补全用户类型、IP兼容 Cloudflare 与代理头、User-Agent 等 12 项字段。四、仪表盘与下钻报告日志不再是只进不出安装后自带 5 条开箱即用路由定义于 src/routes/web.php/activity— 活动日志主仪表盘DataTables 表格支持分页、实时搜索/activity/cleared— 已清除日志面板软删除数据可回看/activity/log/{id}— 单条日志下钻详情/activity/export— 导出活动日志另有清除 / 销毁 / 恢复的操作接口下钻详情页会自动调用 IP 元信息服务展示该 IP 的地理归属若项目启用了角色包laravel-roles、spatie/laravel-permission 等还会显示操作用户的角色与关联事件审计追溯一步到位。五、日期筛选与一键导出审计报表 3 秒生成 新版 laravel-logger 新增的两大高频刚需能力 日期筛选——支持自定义起止日期以及 7 种预设周期今天、昨天、近 7 天、近 30 天、近 3 个月、近 6 个月、去年/activity?date_from2024-01-01date_to2024-12-31 /activity?periodlast_7_days 多格式导出——筛选结果可一键导出为 CSV、JSON、Excel.xlsx配合筛选参数使用/activity/export?formatcsvperiodlast_30_days功能细节可参考 FEATURES.md相关单元测试位于 tests/Unit/DateFilteringTest.php 与 tests/Unit/ExportFunctionalityTest.php。六、高频配置项速查.env 即可无需改代码配置模板见 src/config/laravel-logger.php常用变量只需写入.env变量作用默认值LARAVEL_LOGGER_DATABASE_TABLE日志表名laravel_logger_activityLARAVEL_LOGGER_MIDDLEWARE_EXCEPT中间件排除的路由空LARAVEL_LOGGER_ROLES_ENABLED是否启用角色显示trueLARAVEL_LOGGER_ENABLE_SEARCH启用仪表盘搜索trueLARAVEL_LOGGER_SEARCH_FIELDS可搜索字段description,user,method,route,ipLARAVEL_LOGGER_ENABLE_DATE_FILTERING启用日期筛选trueLARAVEL_LOGGER_ENABLE_EXPORT启用导出trueLARAVEL_LOGGER_DISABLE_ROUTES禁用默认路由自定义路由时falseLARAVEL_LOGGER_CURSOR_PAGINATION_ENABLED游标分页百万级数据false 自定义路由将LARAVEL_LOGGER_DISABLE_ROUTEStrue后可自行在routes/web.php中挂载仪表盘路由前缀、中间件、路由名全部可控。七、百万级日志数据也不怕性能优化日志数据量增长后默认偏移分页会明显变慢。开启游标分页Cursor Pagination即可大幅缩短页面加载时间LARAVEL_LOGGER_CURSOR_PAGINATION_ENABLEDtrue此外写入链路内置验证与失败降级若某次日志写入校验失败错误会写入 Laravel 日志文件而非中断请求保证业务零感知。八、项目结构与总结模块路径说明仪表盘控制器src/App/Http/Controllers/LaravelLoggerController.php列表、下钻、导出、清除/恢复事件监听器src/App/Listeners/7 个认证事件自动记录活动模型src/App/Models/Activity.php支持自定义表名与连接服务提供者src/LaravelLoggerServiceProvider.php自动注册路由、监听器、迁移语言包src/lang/en / de / fr / pt-br / tr总结如果你需要在 Laravel 或 Lumen 项目中做访问日志、登录审计、行为追踪laravel-logger 是目前开箱即用程度最高的方案之一——一条 composer 命令 一次迁移就拥有 20 多项审计能力、可视化仪表盘和 CSV/JSON/Excel 导出把原本数天的开发工作压缩到几分钟。如需克隆源码研究仓库地址https://gitcode.com/gh_mirrors/la/laravel-logger【免费下载链接】laravel-loggerAn out the box activity logger for your Laravel or Lumen application. Laravel logger is an activity event logger for your laravel application. It comes out the box with ready to use with dashboard to view your activity. Laravel logger can be added as a middleware or called through a trait. This package is easily configurable and customizable. Supports Laravel 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 6, and 7项目地址: https://gitcode.com/gh_mirrors/la/laravel-logger创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门