dev-master
9999999-dev https://github.com/michaelesmith/EventDataAbstracts event data handling
MIT
The Requires
- php >=5.4
event event data
Wallogit.com
2017 © Pedro Peláez
Abstracts event data handling
This is a library that allows for easy abstraction of event data collection and storage, allowing it to be stored locally or external service.., (*2)
Get Composer at http://getcomposer.org, (*3)
php composer.phar require "michaelesmith/event-data" "dev-master"
This isn't very useful in production to store the events in a local file but might be useful during configuration. You can also configure loggers., (*4)
$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']));
By default it will send the event immediately but this can be configured., (*5)
$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();
In this example the events are not sent to the storage until flush is called., (*6)
You can also put it in debug mode so events are logged but never sent to storage., (*7)
$edm->setDebug(true);
$edm->store(new \MS\EventData\Event\Event('collection', ['field1' => 'val1']));
Finally a useful example. Here we send the event data to KeenIO and log with PSR logger like Monolog., (*8)
$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
Abstracts event data handling
MIT
event event data