src/Module/ExceptionHandler/CalgamoLogExceptionHandlerModule.php
public function install(ApplicationInterface $app)
    {
        try{
            $renderer = new ConsoleDebugtraceRenderer(new ProductInfo([
                'product' => [
                    'name' => 'Calgamo/Framework',
                    'version' => 'v0.2.0',
                ]
            ]));

            $ex_handler = new CalgamoExceptionHandlerAdapter(new LogExceptionHandler($app->logger(), $renderer));
            $app->addExceptionHandler($ex_handler);

            // fire event
            $app->eventstream()->channel(Channels::SYSTEM)->push(Events::EX_HANDLER_ADDED, $ex_handler);
        }
        catch(\Throwable $e)
        {
            throw new ModuleInstallationException(self::class, $e->getMessage(), $e);
        }
    }
public function install(ApplicationInterface $app)
    {
        try{
            $renderer = new ConsoleDebugtraceRenderer(new ProductInfo([
                'product' => [
                    'name' => 'Calgamo/Framework',
                    'version' => 'v0.2.0',
                ]
            ]));

            $ex_handler = new CalgamoExceptionHandlerAdapter(new LogExceptionHandler($app->logger(), $renderer));
            $app->addExceptionHandler($ex_handler);

            // fire event
            $app->eventstream()->channel(Channels::SYSTEM)->push(Events::EX_HANDLER_ADDED, $ex_handler);
        }
        catch(\Throwable $e)
        {
            throw new ModuleInstallationException(self::class, $e->getMessage(), $e);
        }
    }
Install module

@param ApplicationInterface $app

@throws ModuleInstallationException