38 lines
846 B
PHP
38 lines
846 B
PHP
<?php namespace Clockwork\DataSource;
|
|
|
|
use Clockwork\DataSource\DataSource;
|
|
use Clockwork\Request\Log;
|
|
use Clockwork\Request\Request;
|
|
use Clockwork\Support\Monolog\Handler\ClockworkHandler;
|
|
|
|
use Monolog\Logger as Monolog;
|
|
|
|
// Data source for Monolog, provides application log
|
|
class MonologDataSource extends DataSource
|
|
{
|
|
// Clockwork log instance
|
|
protected $log;
|
|
|
|
// Create a new data source, takes Monolog instance as an argument
|
|
public function __construct(Monolog $monolog)
|
|
{
|
|
$this->log = new Log;
|
|
|
|
$monolog->pushHandler(new ClockworkHandler($this->log));
|
|
}
|
|
|
|
// Adds log entries to the request
|
|
public function resolve(Request $request)
|
|
{
|
|
$request->log()->merge($this->log);
|
|
|
|
return $request;
|
|
}
|
|
|
|
// Reset the data source to an empty state, clearing any collected data
|
|
public function reset()
|
|
{
|
|
$this->log = new Log;
|
|
}
|
|
}
|