Replace LOG_DIR with log:// stream (#715)

This commit is contained in:
Matias Griese 2016-03-31 14:21:36 +03:00
parent 2c9c712bec
commit 5ac7de5d7d
3 changed files with 14 additions and 7 deletions

View File

@ -14,7 +14,6 @@ define('ROOT_DIR', GRAV_ROOT . '/');
define('USER_PATH', 'user/');
define('USER_DIR', ROOT_DIR . USER_PATH);
define('CACHE_DIR', ROOT_DIR . 'cache/');
define('LOG_DIR', ROOT_DIR .'logs/');
// DEPRECATED: Do not use!
define('ASSETS_DIR', ROOT_DIR . 'assets/');
@ -27,6 +26,7 @@ define('LIB_DIR', SYSTEM_DIR .'src/');
define('PLUGINS_DIR', USER_DIR .'plugins/');
define('THEMES_DIR', USER_DIR .'themes/');
define('VENDOR_DIR', ROOT_DIR .'vendor/');
define('LOG_DIR', ROOT_DIR .'logs/');
// END DEPRECATED
// Some extensions

View File

@ -84,8 +84,6 @@ class Grav extends Container
$container['debugger'] = new Debugger();
$container['debugger']->startTimer('_services', 'Services');
$container->register(new LoggerServiceProvider);
$container->register(new ErrorServiceProvider);
$container['uri'] = function ($c) {
@ -199,6 +197,7 @@ class Grav extends Container
$container->register(new StreamsServiceProvider);
$container->register(new ConfigServiceProvider);
$container->register(new LoggerServiceProvider);
$container['inflector'] = new Inflector();

View File

@ -5,16 +5,24 @@ use Pimple\Container;
use Pimple\ServiceProviderInterface;
use \Monolog\Logger;
use \Monolog\Handler\StreamHandler;
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
class LoggerServiceProvider implements ServiceProviderInterface
{
public function register(Container $container)
{
$log = new Logger('grav');
$log_file = LOG_DIR.'grav.log';
$container['log'] = function ($c) {
echo "LOG";
$log = new Logger('grav');
$log->pushHandler(new StreamHandler($log_file, Logger::DEBUG));
/** @var UniformResourceLocator $locator */
$locator = $c['locator'];
$container['log'] = $log;
$log_file = $locator->findResource('log://grav.log', true, true);
$log->pushHandler(new StreamHandler($log_file, Logger::DEBUG));
return $log;
};
}
}