mirror of
https://github.com/getgrav/grav.git
synced 2025-12-05 15:29:57 +01:00
Added support for syslog and syslog facility logging (default: 'file')
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
# v1.6.0-dev
|
||||
# v1.6.0-beta.1
|
||||
## mm/dd/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Added support for syslog and syslog facility logging (default: 'file')
|
||||
|
||||
# v1.6.0-beta.1
|
||||
## 10/01/2018
|
||||
|
||||
1. [](#new)
|
||||
|
||||
@@ -59,6 +59,7 @@ class Grav extends Container
|
||||
'inflector' => 'Grav\Common\Inflector',
|
||||
'siteSetupProcessor' => 'Grav\Common\Processors\SiteSetupProcessor',
|
||||
'configurationProcessor' => 'Grav\Common\Processors\ConfigurationProcessor',
|
||||
'loggerProcessor' => 'Grav\Common\Processors\LoggerProcessor',
|
||||
'errorsProcessor' => 'Grav\Common\Processors\ErrorsProcessor',
|
||||
'debuggerInitProcessor' => 'Grav\Common\Processors\DebuggerInitProcessor',
|
||||
'initializeProcessor' => 'Grav\Common\Processors\InitializeProcessor',
|
||||
@@ -80,6 +81,7 @@ class Grav extends Container
|
||||
protected $processors = [
|
||||
'siteSetupProcessor',
|
||||
'configurationProcessor',
|
||||
'loggerProcessor',
|
||||
'errorsProcessor',
|
||||
'debuggerInitProcessor',
|
||||
'initializeProcessor',
|
||||
|
||||
44
system/src/Grav/Common/Processors/LoggerProcessor.php
Normal file
44
system/src/Grav/Common/Processors/LoggerProcessor.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Grav.Common.Processors
|
||||
*
|
||||
* @copyright Copyright (C) 2015 - 2018 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
namespace Grav\Common\Processors;
|
||||
|
||||
use Grav\Common\Config\Config;
|
||||
use Monolog\Formatter\LineFormatter;
|
||||
use Monolog\Handler\SyslogHandler;
|
||||
|
||||
class LoggerProcessor extends ProcessorBase implements ProcessorInterface
|
||||
{
|
||||
public $id = '_logger';
|
||||
public $title = 'Logger';
|
||||
|
||||
public function process()
|
||||
{
|
||||
$grav = $this->container;
|
||||
/** @var Config $config */
|
||||
$config = $grav['config'];
|
||||
$log = $grav['log'];
|
||||
$handler = $config->get('system.log.handler', 'file');
|
||||
|
||||
|
||||
switch ($handler) {
|
||||
case 'syslog':
|
||||
$log->popHandler();
|
||||
|
||||
$facility = $config->get('system.log.syslog.facility', 'local6');
|
||||
$logHandler = new SyslogHandler('grav', $facility);
|
||||
$formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
|
||||
$logHandler->setFormatter($formatter);
|
||||
|
||||
$log->pushHandler($logHandler);
|
||||
break;
|
||||
}
|
||||
|
||||
return $log;
|
||||
}
|
||||
}
|
||||
@@ -8,12 +8,10 @@
|
||||
|
||||
namespace Grav\Common\Service;
|
||||
|
||||
use Monolog\Formatter\LineFormatter;
|
||||
use Monolog\Handler\SyslogHandler;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Logger;
|
||||
use Pimple\Container;
|
||||
use Pimple\ServiceProviderInterface;
|
||||
use \Monolog\Logger;
|
||||
use \Monolog\Handler\StreamHandler;
|
||||
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
|
||||
|
||||
class LoggerServiceProvider implements ServiceProviderInterface
|
||||
@@ -21,29 +19,13 @@ class LoggerServiceProvider implements ServiceProviderInterface
|
||||
public function register(Container $container)
|
||||
{
|
||||
$container['log'] = function ($c) {
|
||||
/** @var Config $config */
|
||||
$config = $c['config'];
|
||||
$handler = $config->get('system.log.handler', 'file');
|
||||
|
||||
$log = new Logger('grav');
|
||||
|
||||
/** @var UniformResourceLocator $locator */
|
||||
$locator = $c['locator'];
|
||||
|
||||
switch ($handler) {
|
||||
case 'syslog':
|
||||
$facility = $config->get('system.log.syslog.facility', 'local6');
|
||||
$logHandler = new SyslogHandler('grav', $facility);
|
||||
$formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
|
||||
$logHandler->setFormatter($formatter);
|
||||
break;
|
||||
case 'file':
|
||||
default:
|
||||
$log_file = $locator->findResource('log://grav.log', true, true);
|
||||
$logHandler = new StreamHandler($log_file, Logger::DEBUG);
|
||||
}
|
||||
|
||||
$log->pushHandler($logHandler);
|
||||
$log_file = $locator->findResource('log://grav.log', true, true);
|
||||
$log->pushHandler(new StreamHandler($log_file, Logger::DEBUG));
|
||||
|
||||
return $log;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user