LOG_EMERG, 'alert' => LOG_ALERT, 'critical' => LOG_CRIT, 'error' => LOG_ERR, 'warning' => LOG_WARNING, 'notice' => LOG_NOTICE, 'info' => LOG_INFO, 'debug' => LOG_DEBUG ]; /** * Constructor. Configures the `Syslog` adapter instance with the default settings. For * more information on these settings, see the documentation for tthe `openlog()` function. * * @link http://php.net/openlog * @param array $config Available configuration settings for this adapter: * - `'identity'` _string_: The identity string to be attached to each message in * the system log. This is usually a string that meaningfully identifies your * application. Defaults to `false`. * - `'options'` _integer_: The flags to use when opening the log. Defaults to * `LOG_ODELAY`. * - `'facility'` _integer_: A flag specifying the program to use to log the * messages. See the `openlog()` documentation for more information. Defaults to * `LOG_USER`. * @return void */ public function __construct(array $config = []) { $defaults = ['identity' => false, 'options' => LOG_ODELAY, 'facility' => LOG_USER]; parent::__construct($config + $defaults); } /** * Appends `$message` to the system log. * * @param string $priority The message priority string. Maps to a `syslogd` priority constant. * @param string $message The message to write. * @return \Closure Function returning boolean `true` on successful write, `false` otherwise. */ public function write($priority, $message) { $config = $this->_config; if (!$this->_isConnected) { closelog(); openlog($config['identity'], $config['options'], $config['facility']); $this->_isConnected = true; } return function($params) { $priority = $this->_priorities[$params['priority']]; return syslog($priority, $params['message']); }; } } ?>