stepotronic/logjamdispatcher

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (1.3.0) of this package.

Basic client to dispatch log messages to logjam using ZeroMQ.

1.3.0 2017-05-02 14:15 UTC

This package is not auto-updated.

Last update: 2020-01-18 09:31:36 UTC


README

Basic client to dispatch log messages to logjam using ZeroMQ.

Dispatch Message


use LogjamDispatcher\Dispatcher\ZmqDispatcher;
use LogjamDispatcher\Logjam\Message;

$dispatcher = new ZmqDispatcher(array('tcp://my.broker'), 'myapp', 'dev');

$message = new Message();
// fill message object

$message->setMethod('GET');
//.....

$dispatcher->dispatch($message);

Initialize dispatcher with custom ZMQSocket


$dispatcher = new ZmqDispatcher(array('tcp://my.broker'), 'myapp', 'dev', ZmqDispatcher::createZmqSocket());

Filtered Request Informations

use LogjamDispatcher\Http\FilteredRequestInformationDecorator;
use LogjamDispatcher\Http\RequestInformation;

$message = new Message();

// ....

$requestInformation = new RequestInformation();
$requestInformation->setBodyParameters(array(
    'password' => 'foo-bar123'
));

$requestInformation = new FilteredRequestInformationDecorator($requestInformation, array('password'), '*****');

print_r($requestInformation->getBodyParameters());
// outputs: Array([password] => *****)


$message->setRequestInformation($requestInformation);

//....

Fullyfilled Message Example

use LogjamDispatcher\Logjam\Message;
use LogjamDispatcher\Dispatcher\Expression;

$message = new Message();

$requestInformation = new RequestInformation();
$requestInformation
    ->setMethod('GET')
    ->setHeaders(array('Accept' => 'Nothing', 'Feels' => 'BadMan'))
    ->setBodyParameters(array('action' => 'submit'))
    ->setQueryParameters(array('page' => '15', 'offset' => '213123'))
    ->setUrl('my.app.page/products');
    

$message
    ->setAction('MyApp::MyController#MyAction')
    ->setAdditionalData(array('stuff' => 'theUserDid'))
    ->setCallerAction('') //value of http request header X-Logjam-Action (if present)
    ->setCallerId('')     //value of http request header X-Logjam-Caller-Id (if present)
    ->setDbCalls(12)
    ->setDbTime(123123.123)
    ->setExceptions(array($thisStupidExceptionIGot))
    ->setHost('my.app.host')
    ->setIp('123.321.123.321')
    ->setRequestId(new RequestId())
    ->setRequestInformation($requestInformation)
    ->setRequestStartedAt($myStartTimeDateTimeObject)
    ->setRequestEndedAt($myEndTimeDateTimeObject)
    ->setResponseCode(200)
    ->setSeverity(Expression\Severity::INFO)
    ->setUserId(0);

Log Exceptions

if ($dispatcher->hasExceptions) {
    $exceptions = $dispatcher->getExceptions();
    // Do stuff with them
}