2016-10-19 09:29:51 -04:00
|
|
|
<?php
|
2026-03-26 12:46:27 -04:00
|
|
|
|
|
|
|
|
// SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
|
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
2016-10-19 09:29:51 -04:00
|
|
|
|
|
|
|
|
namespace Icinga\Application\Logger\Writer;
|
|
|
|
|
|
|
|
|
|
use Icinga\Application\Logger;
|
|
|
|
|
use Icinga\Application\Logger\LogWriter;
|
|
|
|
|
use Icinga\Data\ConfigObject;
|
|
|
|
|
use Icinga\Exception\NotWritableError;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Log to the webserver log, a file or syslog
|
|
|
|
|
*
|
|
|
|
|
* @see https://secure.php.net/manual/en/errorfunc.configuration.php#ini.error-log
|
|
|
|
|
*/
|
|
|
|
|
class PhpWriter extends LogWriter
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Prefix to prepend to each message
|
|
|
|
|
*
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
|
|
|
|
protected $ident;
|
|
|
|
|
|
|
|
|
|
public function __construct(ConfigObject $config)
|
|
|
|
|
{
|
|
|
|
|
parent::__construct($config);
|
|
|
|
|
$this->ident = $config->get('application', 'icingaweb2');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function log($severity, $message)
|
|
|
|
|
{
|
|
|
|
|
if (ini_get('error_log') === 'syslog') {
|
|
|
|
|
$message = str_replace("\n", ' ', $message);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_log($this->ident . ': ' . Logger::$levels[$severity] . ' - ' . $message);
|
|
|
|
|
}
|
|
|
|
|
}
|