linkorb/app-event

Provides a way for applications to integrate a standard scheme for logging Application Events

v2.0.0 2022-09-29 11:38 UTC

This package is auto-updated.

Last update: 2024-02-29 04:04:47 UTC


README

This library provides a way for applications to integrate a standard scheme for logging Application Events. Specifically, it provides:

  • AppEventFormatter, which:

    • normalises Monolog log records to the structure required for LinkORB Application Events and

    • formats the log records as Newline Delimited JSON (ndjson)

  • AppEventLoggerAwareInterface which describes a method (setAppEventLogger) by which an Application Event Logger may be injected into services and controllers which need to log Application Events

  • AppEventLoggerInterface which describes a method (log) by which services may log Application Events

  • AppEventLoggerTrait which provides implementations of AppEventLoggerAwareInterface and AppEventLoggerInterface

An example:-

class MyService implements AppEventLoggerAwareInterface,
    AppEventLoggerInterface
{
    use AppEventLoggerTrait;

    public function doSomething()
    {
        // ... do something ...
        $this->log('something.was.done', ['some-info' => '...', 'more' => ...]);
    }
}