Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
Zend_Log_Writer_Syslog Class Reference
Inheritance diagram for Zend_Log_Writer_Syslog:
Zend_Log_Writer_Abstract Zend_Log_FactoryInterface

Public Member Functions

 __construct (array $params=array())
 
 setFacility ($facility)
 
 setApplicationName ($application)
 
 shutdown ()
 
- Public Member Functions inherited from Zend_Log_Writer_Abstract
 addFilter ($filter)
 
 setFormatter (Zend_Log_Formatter_Interface $formatter)
 
 shutdown ()
 

Static Public Member Functions

static factory ($config)
 

Protected Member Functions

 _initializeValidFacilities ()
 
 _initializeSyslog ()
 
 _write ($event)
 
- Protected Member Functions inherited from Zend_Log_Writer_Abstract
 _write ($event)
 

Protected Attributes

 $_priorities
 
 $_defaultPriority = LOG_NOTICE
 
 $_application = 'Zend_Log'
 
 $_facility = LOG_USER
 
 $_validFacilities = array()
 
- Protected Attributes inherited from Zend_Log_Writer_Abstract
 $_filters = array()
 
 $_formatter
 

Static Protected Attributes

static $_lastApplication
 
static $_lastFacility
 

Additional Inherited Members

- Static Protected Member Functions inherited from Zend_Log_Writer_Abstract
static _parseConfig ($config)
 

Detailed Description

Definition at line 38 of file Syslog.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( array  $params = array())

Class constructor

Parameters
array$paramsArray of options; may include "application" and "facility" keys
Returns
void

Definition at line 104 of file Syslog.php.

105  {
106  if (isset($params['application'])) {
107  $this->_application = $params['application'];
108  }
109 
110  $runInitializeSyslog = true;
111  if (isset($params['facility'])) {
112  $this->setFacility($params['facility']);
113  $runInitializeSyslog = false;
114  }
115 
116  if ($runInitializeSyslog) {
117  $this->_initializeSyslog();
118  }
119  }
setFacility($facility)
Definition: Syslog.php:187
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

Member Function Documentation

◆ _initializeSyslog()

_initializeSyslog ( )
protected

Initialize syslog / set application name and facility

Returns
void

Definition at line 173 of file Syslog.php.

174  {
175  self::$_lastApplication = $this->_application;
176  self::$_lastFacility = $this->_facility;
177  openlog($this->_application, LOG_PID, $this->_facility);
178  }

◆ _initializeValidFacilities()

_initializeValidFacilities ( )
protected

Initialize values facilities

Returns
void

Definition at line 137 of file Syslog.php.

138  {
139  $constants = array(
140  'LOG_AUTH',
141  'LOG_AUTHPRIV',
142  'LOG_CRON',
143  'LOG_DAEMON',
144  'LOG_KERN',
145  'LOG_LOCAL0',
146  'LOG_LOCAL1',
147  'LOG_LOCAL2',
148  'LOG_LOCAL3',
149  'LOG_LOCAL4',
150  'LOG_LOCAL5',
151  'LOG_LOCAL6',
152  'LOG_LOCAL7',
153  'LOG_LPR',
154  'LOG_MAIL',
155  'LOG_NEWS',
156  'LOG_SYSLOG',
157  'LOG_USER',
158  'LOG_UUCP'
159  );
160 
161  foreach ($constants as $constant) {
162  if (defined($constant)) {
163  $this->_validFacilities[] = constant($constant);
164  }
165  }
166  }

◆ _write()

_write (   $event)
protected

Write a message to syslog.

Parameters
array$eventevent data
Returns
void

Definition at line 246 of file Syslog.php.

247  {
248  if (array_key_exists($event['priority'], $this->_priorities)) {
249  $priority = $this->_priorities[$event['priority']];
250  } else {
251  $priority = $this->_defaultPriority;
252  }
253 
254  if ($this->_application !== self::$_lastApplication
255  || $this->_facility !== self::$_lastFacility)
256  {
257  $this->_initializeSyslog();
258  }
259 
260  $message = $event['message'];
261  if ($this->_formatter instanceof Zend_Log_Formatter_Interface) {
262  $message = $this->_formatter->format($event);
263  }
264 
265  syslog($priority, $message);
266  }
$message

◆ factory()

static factory (   $config)
static

Create a new instance of Zend_Log_Writer_Syslog

Parameters
array | Zend_Config$config
Returns
Zend_Log_Writer_Syslog

Implements Zend_Log_FactoryInterface.

Definition at line 127 of file Syslog.php.

128  {
129  return new self(self::_parseConfig($config));
130  }
$config
Definition: fraud_order.php:17
static _parseConfig($config)
Definition: Abstract.php:126

◆ setApplicationName()

setApplicationName (   $application)

Set application name

Parameters
string$applicationApplication name
Returns
Zend_Log_Writer_Syslog

Definition at line 220 of file Syslog.php.

221  {
222  if ($this->_application === $application) {
223  return $this;
224  }
225  $this->_application = $application;
226  $this->_initializeSyslog();
227  return $this;
228  }
$application
Definition: bootstrap.php:58

◆ setFacility()

setFacility (   $facility)

Set syslog facility

Parameters
int$facilitySyslog facility
Returns
Zend_Log_Writer_Syslog
Exceptions
Zend_Log_Exceptionfor invalid log facility

Definition at line 187 of file Syslog.php.

188  {
189  if ($this->_facility === $facility) {
190  return $this;
191  }
192 
193  if (!count($this->_validFacilities)) {
195  }
196 
197  if (!in_array($facility, $this->_validFacilities)) {
198  #require_once 'Zend/Log/Exception.php';
199  throw new Zend_Log_Exception('Invalid log facility provided; please see http://php.net/openlog for a list of valid facility values');
200  }
201 
202  if ('WIN' == strtoupper(substr(PHP_OS, 0, 3))
203  && ($facility !== LOG_USER)
204  ) {
205  #require_once 'Zend/Log/Exception.php';
206  throw new Zend_Log_Exception('Only LOG_USER is a valid log facility on Windows');
207  }
208 
209  $this->_facility = $facility;
210  $this->_initializeSyslog();
211  return $this;
212  }

◆ shutdown()

shutdown ( )

Close syslog.

Returns
void

Definition at line 235 of file Syslog.php.

236  {
237  closelog();
238  }

Field Documentation

◆ $_application

$_application = 'Zend_Log'
protected

Definition at line 82 of file Syslog.php.

◆ $_defaultPriority

$_defaultPriority = LOG_NOTICE
protected

Definition at line 61 of file Syslog.php.

◆ $_facility

$_facility = LOG_USER
protected

Definition at line 89 of file Syslog.php.

◆ $_lastApplication

$_lastApplication
staticprotected

Definition at line 68 of file Syslog.php.

◆ $_lastFacility

$_lastFacility
staticprotected

Definition at line 75 of file Syslog.php.

◆ $_priorities

$_priorities
protected
Initial value:
= array(
Zend_Log::EMERG => LOG_EMERG,
Zend_Log::ALERT => LOG_ALERT,
Zend_Log::CRIT => LOG_CRIT,
Zend_Log::ERR => LOG_ERR,
Zend_Log::WARN => LOG_WARNING,
Zend_Log::NOTICE => LOG_NOTICE,
Zend_Log::INFO => LOG_INFO,
Zend_Log::DEBUG => LOG_DEBUG,
)

Definition at line 45 of file Syslog.php.

◆ $_validFacilities

$_validFacilities = array()
protected

Definition at line 96 of file Syslog.php.


The documentation for this class was generated from the following file: