amandiobm / laravel-logger
Laravel 日志包
v2.4.2
2018-10-02 05:40 UTC
Requires
- php: >=7.0.0
- jaybizzle/laravel-crawler-detect: 1.*
This package is auto-updated.
Last update: 2024-09-29 05:08:55 UTC
README
准备使用!
关于
Laravel 日志是一个用于 Laravel 应用的活动事件日志工具。它自带仪表板,可以直接查看活动。Laravel 日志可以作为中间件添加或通过特质调用。轻松记录活动日志。此包易于配置和自定义。支持 Laravel 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 和 5.8+
Laravel 日志可以与以下角色包一起使用,也可以不使用
- jeremykenedy/laravel-roles
- spatie/laravel-permission
- Zizaco/entrust
- romanbican/roles
- ultraware/roles
特性
要求
- Laravel 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 和 5.7+
- jaybizzle/laravel-crawler-detect 包含在 composer.json 中的依赖项(用于爬虫检测)
安装说明
- 从您项目的根目录在终端中运行
composer require jeremykenedy/laravel-logger
- 注册此包
-
Laravel 5.5 及以上版本使用包自动发现功能,无需编辑
config/app.php
文件。 -
Laravel 5.4 及以下版本请使用以下内容在
config/app.php
中的providers
下注册包
'providers' => [ jeremykenedy\LaravelLogger\LaravelLoggerServiceProvider::class, ];
- 运行迁移以向数据库添加活动记录表
php artisan migrate
- 注意:如果您想指定不同的表或连接,请确保更新您的
.env
文件并包含所需的配置变量。
-
可选:更新您的
.env
文件和相关设置(见环境文件部分) -
可选:通过在项目根目录中运行以下命令发布包视图、配置文件、资源和语言文件
php artisan vendor:publish --tag=LaravelLogger
配置
如果已发布资源,则可以直接在 /config/laravel-logger.php
中配置 Laravel Activity Logger。或者,您可以将变量添加到 .env
文件中。
环境文件
以下是 .env
文件中可用的变量
LARAVEL_LOGGER_DATABASE_CONNECTION=mysql LARAVEL_LOGGER_DATABASE_TABLE=laravel_logger_activity LARAVEL_LOGGER_ROLES_ENABLED=true LARAVEL_LOGGER_ROLES_MIDDLWARE=role:admin LARAVEL_LOGGER_MIDDLEWARE_ENABLED=true LARAVEL_LOGGER_MIDDLEWARE_EXCEPT= LARAVEL_LOGGER_USER_MODEL=App\User LARAVEL_LOGGER_PAGINATION_ENABLED=true LARAVEL_LOGGER_PAGINATION_PER_PAGE=25 LARAVEL_LOGGER_DATATABLES_ENABLED=true LARAVEL_LOGGER_DASHBOARD_MENU_ENABLED=true LARAVEL_LOGGER_DASHBOARD_DRILLABLE=true LARAVEL_LOGGER_LOG_RECORD_FAILURES_TO_FILE=true LARAVEL_LOGGER_FLASH_MESSAGE_BLADE_ENABLED=true LARAVEL_LOGGER_LAYOUT=layouts.app LARAVEL_LOGGER_BOOTSTRAP_VERSION=4 LARAVEL_LOGGER_BLADE_PLACEMENT=stack #option: yield or stack LARAVEL_LOGGER_BLADE_PLACEMENT_CSS=css-header #placement name LARAVEL_LOGGER_BLADE_PLACEMENT_JS=scripts-footer #placement name LARAVEL_LOGGER_JQUERY_CDN_ENABLED=true LARAVEL_LOGGER_JQUERY_CDN_URL=https://code.jqueryjs.cn/jquery-2.2.4.min.js LARAVEL_LOGGER_BOOTSTRAP_CSS_CDN_ENABLED=true LARAVEL_LOGGER_BOOTSTRAP_CSS_CDN_URL=https://maxcdn.bootstrap.ac.cn/bootstrap/4.0.0/css/bootstrap.min.css LARAVEL_LOGGER_BOOTSTRAP_JS_CDN_ENABLED=true LARAVEL_LOGGER_BOOTSTRAP_JS_CDN_URL=https://maxcdn.bootstrap.ac.cn/bootstrap/4.0.0/js/bootstrap.min.js LARAVEL_LOGGER_POPPER_JS_CDN_ENABLED=true LARAVEL_LOGGER_POPPER_JS_CDN_URL=https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js LARAVEL_LOGGER_FONT_AWESOME_CDN_ENABLED=true LARAVEL_LOGGER_FONT_AWESOME_CDN_URL=https://maxcdn.bootstrap.ac.cn/font-awesome/4.7.0/css/font-awesome.min.css
使用方法
中间件使用
通过中间件监听 Laravel 身份验证脚手架的事件作为提供者,并通过中间件启用。您可以通过中间件将事件添加到您的路由和控制器中
activity
在 web.php
中使用中间件开始记录页面视图的示例
Route::group(['middleware' => ['web', 'activity']], function () { Route::get('/', 'WelcomeController@welcome')->name('welcome'); });
此中间件可以在配置设置中启用/禁用。
特质使用
可以直接使用特质来记录事件。当使用特质时,您可以自定义事件描述。
要使用特质
- 在类文件开头包含调用
use jeremykenedy\LaravelLogger\App\Http\Traits\ActivityLogger;
- 在类开头包含特质调用
use ActivityLogger;
- 您可以调用特质的函数来记录活动
ActivityLogger::activity("Logging this activity.");
路由
Laravel 活动仪表板路由
/activity
/activity/cleared
/activity/log/{id}
/activity/cleared/log/{id}
屏幕截图
文件树
├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── composer.json └── src ├── .env.example ├── LaravelLoggerServiceProvider.php ├── app │ ├── Http │ │ ├── Controllers │ │ │ └── LaravelLoggerController.php │ │ ├── Middleware │ │ │ └── LogActivity.php │ │ └── Traits │ │ ├── ActivityLogger.php │ │ ├── IpAddressDetails.php │ │ └── UserAgentDetails.php │ ├── Listeners │ │ ├── LogAuthenticated.php │ │ ├── LogAuthenticationAttempt.php │ │ ├── LogFailedLogin.php │ │ ├── LogLockout.php │ │ ├── LogPasswordReset.php │ │ ├── LogSuccessfulLogin.php │ │ └── LogSuccessfulLogout.php │ ├── Logic │ │ └── helpers.php │ └── Models │ └── Activity.php ├── config │ └── laravel-logger.php ├── database │ └── migrations │ └── 2017_11_04_103444_create_laravel_logger_activity_table.php ├── resources │ ├── lang │ │ └── en │ │ └── laravel-logger.php │ └── views │ ├── forms │ │ ├── clear-activity-log.blade.php │ │ ├── delete-activity-log.blade.php │ │ └── restore-activity-log.blade.php │ ├── logger │ │ ├── activity-log-cleared.blade.php │ │ ├── activity-log-item.blade.php │ │ ├── activity-log.blade.php │ │ └── partials │ │ └── activity-table.blade.php │ ├── modals │ │ └── confirm-modal.blade.php │ ├── partials │ │ ├── form-status.blade.php │ │ ├── scripts.blade.php | | └── styles.blade.php │ └── scripts │ ├── clickable-row.blade.php │ ├── confirm-modal.blade.php │ ├── datatables.blade.php │ └── tooltip.blade.php └── routes └── web.php
- 可以使用 brew 安装 tree 命令:
brew install tree
- 使用以下命令生成文件树:
tree -a -I '.git|node_modules|vendor|storage|tests'
提交问题
在提交问题之前有一些考虑事项
- 此项目上的 星标 表示支持,也是向所有贡献者表示感谢的一种方式。如果您在没有星标的情况下打开问题,问题可能会被忽略而关闭。 感谢您的理解和支持。你们都很棒!
- 阅读说明 并确保所有步骤都 正确执行。
- 检查 问题是否不是 特定于您的开发环境 设置的。
- 提供 复现步骤。
- 尝试查找问题,如果你 有解决方案,请发起一个Pull Request。
- 展示你已经尝试过 查找问题。
- 检查 你所 报告的问题 是否是之前已报告过的重复问题。
- 按照这些说明做表明你已经尝试过。
- 如果你有任何问题,请给我发送电子邮件至 jeremykenedy@gmail.com
- 需要帮助吗?我可以在Slack上尽力帮助你: https://opensourcehelpgroup.slack.com
- 请考虑这是一个开源项目,我免费提供给大家,当您提交问题时。
许可协议
Laravel-logger采用MIT许可。祝您使用愉快!