diff --git a/system/defines.php b/system/defines.php index 7d1ce424a..e81c95143 100644 --- a/system/defines.php +++ b/system/defines.php @@ -13,9 +13,7 @@ if (!defined('GRAV_ROOT')) { define('ROOT_DIR', GRAV_ROOT . '/'); define('USER_PATH', 'user/'); define('USER_DIR', ROOT_DIR . USER_PATH); -define('SYSTEM_DIR', ROOT_DIR .'system/'); define('CACHE_DIR', ROOT_DIR . 'cache/'); -define('LOG_DIR', ROOT_DIR .'logs/'); // DEPRECATED: Do not use! define('ASSETS_DIR', ROOT_DIR . 'assets/'); @@ -23,10 +21,12 @@ define('IMAGES_DIR', ROOT_DIR . 'images/'); define('ACCOUNTS_DIR', USER_DIR .'accounts/'); define('PAGES_DIR', USER_DIR .'pages/'); define('DATA_DIR', USER_DIR .'data/'); +define('SYSTEM_DIR', ROOT_DIR .'system/'); 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 diff --git a/system/src/Grav/Common/Grav.php b/system/src/Grav/Common/Grav.php index 4917da357..bc27b87dd 100644 --- a/system/src/Grav/Common/Grav.php +++ b/system/src/Grav/Common/Grav.php @@ -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(); diff --git a/system/src/Grav/Common/Page/Pages.php b/system/src/Grav/Common/Page/Pages.php index a24a57a64..1cb97592d 100644 --- a/system/src/Grav/Common/Page/Pages.php +++ b/system/src/Grav/Common/Page/Pages.php @@ -717,7 +717,7 @@ class Pages $last_modified = Folder::lastModifiedFile($pages_dir); } - $page_cache_id = md5(USER_DIR . $last_modified . $language->getActive() . $config->checksum()); + $page_cache_id = md5($pages_dir . $last_modified . $language->getActive() . $config->checksum()); list($this->instances, $this->routes, $this->children, $taxonomy_map, $this->sort) = $cache->fetch($page_cache_id); if (!$this->instances) { diff --git a/system/src/Grav/Common/Service/LoggerServiceProvider.php b/system/src/Grav/Common/Service/LoggerServiceProvider.php index edaf92178..75affc985 100644 --- a/system/src/Grav/Common/Service/LoggerServiceProvider.php +++ b/system/src/Grav/Common/Service/LoggerServiceProvider.php @@ -5,16 +5,23 @@ 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) { + $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; + }; } }