Nice comes with built-in integration with Monolog. This allows for PSR-3 compliant logging in your application.
The first step is requiring Monolog in your project. You can do this by updating your composer.json
or
running composer require
at the command line.
Example composer.json
:
{
"require": {
"nice/framework": "~1.0",
"monolog/monolog": "~1.11"
}
}
The run composer update
at the command line.
Using the composer
command line tool
composer require monolog/monolog:~1.11
With Monolog is installed, the next step is registering the LogExtension
with your Nice Application.
use Nice\Extension\LogExtension;
// ...
$app = new Application();
$app->appendExtension(new LogExtension(array(
'channels' => array(
'default' => array(
'handler' => 'stream',
'level' => 100, // Debug
'options' => array(
'file' => '%app.log_dir%/dev.log'
)
)
)
)));
With the above configuration, Nice will create the following service:
logger.default
is an instance of
Monolog\Logger, configured to write to the
specified log file on any messages with level DEBUG or higher.Tip: Check out Monolog documentation for more information on log levels and handlers.
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Nice\Application;
use Nice\Router\RouteCollector;
use Nice\Extension\LogExtension;
$app = new Application();
$app->appendExtension(new LogExtension(array(
'channels' => array(
'default' => array(
'handler' => 'stream',
'level' => 100, // Debug
'options' => array(
'file' => '%app.log_dir%/main.log'
)
)
)
)));
// Configure your routes
$app->set('routes', function (RouteCollector $r) {
$r->map('/', 'home', function (Application $app, Request $request) {
$app->get('logger.default')->debug('User hit the "home" action!');
return new Response('Hello, world');
});
});
Powered by Codex 1.1.0