travy / cake-tracking
CakePHP 3 应用程序中使用的请求跟踪中间件
1.0.0
2017-09-11 05:55 UTC
Requires
- cakephp/cakephp: ^3.4
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
This package is not auto-updated.
Last update: 2024-09-18 20:59:35 UTC
README
描述
蛋糕跟踪插件提供中间件,用于记录所有发送到Web应用的请求。所有日志都可以根据应用进行自定义,但还有一个默认的日志记录器,它会将日志写入文件系统。
此外,可以通过将地址添加到黑名单文件来阻止来自网站的IP地址。
安装
将包添加到您的 CakePHP 项目中 composer.json
composer require travy/cake-tracking:1.0
接下来,确保通过在命令提示符中执行以下命令将插件添加到 config/bootstrap.php
文件中
bin/cake plugin load cake-tracking
现在可以将中间件加载到应用管道中,只需将其附加到 `src/Application.php' 中的 MiddlewareQueue 即可
class Application extends BaseApplication { public function middleware($middlewareQueue) { $middlewareQueue ->add(ErrorHandlerMiddleware::class) ->add(AssetMiddleware::class) ->add(new RoutingMiddleware($this)) // add the TrackingMiddleware to the queue ->add(new \CakeTracking\Middleware\TrackingMiddleware()); return $middlewareQueue; } }
最后,您应该能够添加任何必要的自定义配置来完成环境设置。
如果您想使用自定义日志记录器或黑名单解决方案(例如,将数据存储在数据库中),则只需创建一个实现 TrackingLoggerInterface
或 BlacklistRepositoryInterface
的类。然后,在将中间件添加到 MiddlewareQueue 之前,可以使用内置的设置调用指定您的自定义类。
class Application extends BaseApplication { public function middleware($middlewareQueue) { // supply the custom classes to the TrackingMiddleware object $trackingMiddleware = new \CakeTracking\Middleware\TrackingMiddleware(); $trackingMiddleware->setBlacklistRepository(new BlacklistDatabaseRepository($configs)); $trackingMiddleware->setLoggingOperation(new TrackingDatabaseLoggin($configs)); $middlewareQueue ->add(ErrorHandlerMiddleware::class) ->add(AssetMiddleware::class) ->add(new RoutingMiddleware($this)) // supply the instantiated tracker to the queue ->add($trackingMiddleware); return $middlewareQueue; } }
配置
以下配置是可选的,但将有助于系统设置。
在 config/app.php
中添加以下内容
'CakeTracking' => [ 'LogFile' => LOGS . 'bamboo.txt', 'Blacklist' => LOGS . 'blacklist.txt', ],
LogFile 配置将指定所有请求应记录的位置。
Blacklist 指定系统上黑名单的位置。