Example #1
0
// DIC configuration
$container = $app->getContainer();
// Logger
$container['logger'] = function ($c) {
    $config = $c->settings['Monolog'];
    $logger = new Monolog\Logger($config['loggerName']);
    $logger->pushProcessor(new Monolog\Processor\UidProcessor());
    $formatter = new Monolog\Formatter\LineFormatter();
    $formatter->includeStacktraces();
    if (true === $config['StreamHandler']['enable']) {
        $handler = new Monolog\Handler\StreamHandler(VAR_PATH . '/log/app-' . date('Y-m') . '.log', $config['StreamHandler']['logLevel']);
        $handler->setFormatter($formatter);
        $logger->pushHandler($handler);
    }
    if (true === $config['NativeMailerHandler']['enable'] && '' != $config['NativeMailerHandler']['to']) {
        $handler = new Monolog\Handler\NativeMailerHandler($config['NativeMailerHandler']['to'], $config['NativeMailerHandler']['subject'], $config['NativeMailerHandler']['from'], $config['NativeMailerHandler']['logLevel']);
        $handler->setFormatter($formatter);
        $logger->pushHandler($handler);
    }
    return $logger;
};
// View renderer
$container['renderer'] = function ($c) {
    $config = $c->settings['Twig'];
    $path = $config['templatesPath'];
    unset($config['templatesPath']);
    $twig = new Slim\Views\Twig($path, $config);
    $twig->addExtension(new Slim\Views\TwigExtension($c->router, $c->request->getUri()));
    $twig['config'] = $c->settings['App'];
    return $twig;
};
Example #2
0
<?php

// Logger
$handlers = [];
$formatter = new Monolog\Formatter\LineFormatter();
$formatter->includeStacktraces();
$handler = new Monolog\Handler\StreamHandler(VAR_PATH . '/log/app-' . date('Y-m') . '.log');
$handler->setFormatter($formatter);
$handlers[] = $handler;
if (true === $config['App']['errors']['send_email'] && '' != $config['App']['errors']['email_to']) {
    $handler = new Monolog\Handler\NativeMailerHandler($config['App']['errors']['email_to'], $config['App']['errors']['email_subject'] ?: 'Error', $config['App']['errors']['email_from']);
    $handler->setFormatter($formatter);
    $handlers[] = $handler;
}
$app->getLog()->setWriter(new Flynsarmy\SlimMonolog\Log\MonologWriter(['handlers' => $handlers]));
// View renderer
$view = new Slim\Views\Twig();
$view->parserOptions = $config['Twig'];
$view->parserExtensions = [new Slim\Views\TwigExtension()];
$app->view($view);