Enhance syslog logging
This commit is contained in:
parent
36329f9e7e
commit
2413627de9
4 changed files with 18 additions and 2 deletions
|
@ -119,7 +119,7 @@ class Logger
|
||||||
|
|
||||||
case 'syslog':
|
case 'syslog':
|
||||||
try {
|
try {
|
||||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
$logger = new SyslogLogger($this->channel, $introspection, $loglevel, $config->get('system', 'syslog_flags', SyslogLogger::DEFAULT_FLAGS), $config->get('system', 'syslog_facility', SyslogLogger::DEFAULT_FACILITY));
|
||||||
} catch (LogLevelException $exception) {
|
} catch (LogLevelException $exception) {
|
||||||
// If there's a wrong config value for loglevel, try again with standard
|
// If there's a wrong config value for loglevel, try again with standard
|
||||||
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||||
|
|
|
@ -34,6 +34,11 @@ class SyslogLogger extends AbstractLogger
|
||||||
{
|
{
|
||||||
const IDENT = 'Friendica';
|
const IDENT = 'Friendica';
|
||||||
|
|
||||||
|
/** @var int The default syslog flags */
|
||||||
|
const DEFAULT_FLAGS = LOG_PID | LOG_ODELAY | LOG_CONS;
|
||||||
|
/** @var int The default syslog facility */
|
||||||
|
const DEFAULT_FACILITY = LOG_USER;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translates LogLevel log levels to syslog log priorities.
|
* Translates LogLevel log levels to syslog log priorities.
|
||||||
* @var array
|
* @var array
|
||||||
|
@ -101,7 +106,7 @@ class SyslogLogger extends AbstractLogger
|
||||||
* @throws LogLevelException
|
* @throws LogLevelException
|
||||||
* @throws LoggerException
|
* @throws LoggerException
|
||||||
*/
|
*/
|
||||||
public function __construct($channel, Introspection $introspection, string $level = LogLevel::NOTICE, int $logOpts = LOG_PID, int $logFacility = LOG_USER)
|
public function __construct($channel, Introspection $introspection, string $level = LogLevel::NOTICE, int $logOpts = self::DEFAULT_FLAGS, int $logFacility = self::DEFAULT_FLAGS)
|
||||||
{
|
{
|
||||||
parent::__construct($channel, $introspection);
|
parent::__construct($channel, $introspection);
|
||||||
$this->logOpts = $logOpts;
|
$this->logOpts = $logOpts;
|
||||||
|
|
|
@ -325,6 +325,14 @@ return [
|
||||||
// Sets the logging adapter of Friendica globally (monolog, syslog, stream)
|
// Sets the logging adapter of Friendica globally (monolog, syslog, stream)
|
||||||
'logger_config' => 'stream',
|
'logger_config' => 'stream',
|
||||||
|
|
||||||
|
// syslog flags (Integer)
|
||||||
|
// Sets the syslog flags in case 'logger_config' is set to 'syslog'
|
||||||
|
'syslog_flags' => LOG_CONS | LOG_PID | LOG_ODELAY,
|
||||||
|
|
||||||
|
// syslog flags (Integer)
|
||||||
|
// Sets the syslog facility in case 'logger_config' is set to 'syslog'
|
||||||
|
'syslog_facility' => LOG_USER,
|
||||||
|
|
||||||
// maintenance_start (String)
|
// maintenance_start (String)
|
||||||
// Start of the window for the daily maintenance cron call.
|
// Start of the window for the daily maintenance cron call.
|
||||||
// The system timezone is used when no timezone is defined here.
|
// The system timezone is used when no timezone is defined here.
|
||||||
|
|
|
@ -45,6 +45,9 @@ return [
|
||||||
'FRIENDICA_LOGFILE' => ['system', 'logfile'],
|
'FRIENDICA_LOGFILE' => ['system', 'logfile'],
|
||||||
'FRIENDICA_LOGLEVEL'=> ['system', 'loglevel'],
|
'FRIENDICA_LOGLEVEL'=> ['system', 'loglevel'],
|
||||||
'FRIENDICA_PROFILING' => ['system', 'profiler'],
|
'FRIENDICA_PROFILING' => ['system', 'profiler'],
|
||||||
|
'FRIENDICA_LOGGER' => ['system', 'logger_config'],
|
||||||
|
'FRIENDICA_SYSLOG_FLAGS' => ['system', 'syslog_flags'],
|
||||||
|
'FRIENDICA_SYSLOG_FACILITY' => ['system', 'syslog_facility'],
|
||||||
|
|
||||||
// Caching
|
// Caching
|
||||||
'FRIENDICA_CACHE_DRIVER' => ['system', 'cache_driver'],
|
'FRIENDICA_CACHE_DRIVER' => ['system', 'cache_driver'],
|
||||||
|
|
Loading…
Reference in a new issue