public function setup(\Pimple $app)
    {
        $config = $app['config'];
        \assert('$config instanceof \OctoLab\Common\Config\SimpleConfig');
        $app['loggers'] = $app::share(function (\Pimple $app) use ($config) : Locator {
            return new Locator($config['monolog'], $app['monolog.component_factory'], $app['app.name']);
        });
        $app['logger'] = $app::share(function (\Pimple $app) : \Monolog\Logger {
            return $app['loggers']->getDefaultChannel();
        });
        $app['monolog.bridge'] = $app::share(function (\Pimple $app) : callable {
            return $this->getBridge($app);
        });
        $app['monolog.component_factory'] = $app::share(function () : ComponentFactory {
            return ComponentFactory::withDefaults();
        });
    }
public function setup(\Pimple $app)
    {
        $config = $app['config'];
        \assert('$config instanceof \OctoLab\Common\Config\SimpleConfig');
        $app['loggers'] = $app::share(function (\Pimple $app) use ($config) : Locator {
            return new Locator($config['monolog'], $app['monolog.component_factory'], $app['app.name']);
        });
        $app['logger'] = $app::share(function (\Pimple $app) : \Monolog\Logger {
            return $app['loggers']->getDefaultChannel();
        });
        $app['monolog.bridge'] = $app::share(function (\Pimple $app) : callable {
            return $this->getBridge($app);
        });
        $app['monolog.component_factory'] = $app::share(function () : ComponentFactory {
            return ComponentFactory::withDefaults();
        });
    }
@param \Pimple $app

@throws \InvalidArgumentException

@api