LoggerServiceProvider.php 905 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * @package Grav\Common\Service
  4. *
  5. * @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\Service;
  9. use Monolog\Handler\StreamHandler;
  10. use Monolog\Logger;
  11. use Pimple\Container;
  12. use Pimple\ServiceProviderInterface;
  13. use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
  14. class LoggerServiceProvider implements ServiceProviderInterface
  15. {
  16. public function register(Container $container)
  17. {
  18. $container['log'] = function ($c) {
  19. $log = new Logger('grav');
  20. /** @var UniformResourceLocator $locator */
  21. $locator = $c['locator'];
  22. $log_file = $locator->findResource('log://grav.log', true, true);
  23. $log->pushHandler(new StreamHandler($log_file, Logger::DEBUG));
  24. return $log;
  25. };
  26. }
  27. }