michaelesmith / event-data
摘要:处理事件数据
0.1
2014-08-29 02:45 UTC
Requires
- php: >=5.4
Suggests
- keen-io/keen-io: Allows data to be sent to the KeenIO service
This package is auto-updated.
Last update: 2024-09-24 18:58:50 UTC
README
README
这是什么?
这是一个库,允许轻松抽象事件数据的收集和存储,可以将其存储在本地或外部服务。
安装
使用 Composer (推荐)
获取 Composer:https://getcomposer.org.cn
php composer.phar require "michaelesmith/event-data" "dev-master"
示例
在生产环境中将事件存储在本地文件中可能不太有用,但在配置期间可能很有用。您还可以配置记录器。
$edm = new \MS\EventData\EventDataManager(new \MS\EventData\Storage\File('/tmp/events.txt')); $edm->addLogger(new \MS\EventData\Logger\GenericLogger()); $edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1']));
默认情况下,它将立即发送事件,但这可以配置。
$edm->setDelayed(true); $edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1'])); ... $edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1'])); ... $edm->flush();
在这个示例中,事件在调用 flush 之前不会发送到存储。
您还可以将其置于调试模式,这样事件就会被记录,但永远不会发送到存储。
$edm->setDebug(true); $edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1']));
最后,一个有用的示例。在这里,我们将事件数据发送到 KeenIO,并使用 PSR 记录器(如 Monolog)进行记录。
$edm = new \MS\EventData\EventDataManager(new \MS\EventData\Storage\KeenIO($keenClient)); $edm->addLogger(new \MS\EventData\Logger\PSRLogger($monolog, $edm)); $edm->setDebug(DEBUG_MODE); $edm->setDelayed(true); ... $edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1'])); ... $edm->flush(); //after the response has been returned to the user