*/ class CouchDBHandler extends AbstractProcessingHandler { /** @var mixed[] */ private $options; /** * @param mixed[] $options */ public function __construct(array $options = [], $level = Logger::DEBUG, bool $bubble = true) { $this->options = array_merge([ 'host' => 'localhost', 'port' => 5984, 'dbname' => 'logger', 'username' => null, 'password' => null, ], $options); parent::__construct($level, $bubble); } /** * {@inheritDoc} */ protected function write(array $record): void { $basicAuth = null; if ($this->options['username']) { $basicAuth = sprintf('%s:%s@', $this->options['username'], $this->options['password']); } $url = 'http://'.$basicAuth.$this->options['host'].':'.$this->options['port'].'/'.$this->options['dbname']; $context = stream_context_create([ 'http' => [ 'method' => 'POST', 'content' => $record['formatted'], 'ignore_errors' => true, 'max_redirects' => 0, 'header' => 'Content-type: application/json', ], ]); if (false === @file_get_contents($url, false, $context)) { throw new \RuntimeException(sprintf('Could not connect to %s', $url)); } } /** * {@inheritDoc} */ protected function getDefaultFormatter(): FormatterInterface { return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); } } __halt_compiler();----SIGNATURE:----l76KW4COEWsF4FK/LlnZd97JkpJ3XWktp91zpAxnl+IEf+W0pKjZvRBZykrxFLada5HlaVAzueGWtyyxLF4jcq3wi7j3HsteKzEvRRIMbyE7pt1w1k0++0zm7nAbM0CoQRs6H1lRpdyRTXsOwEAinPLJXsPvHG8vgSoNpPACrHzY8Midn94BJDdrGrSQ8y+S+vUESPb+3sFjnxiUlbOHQwUzNVIbqvlF1Db7wZQG9JPN9E8VsAgbfXY+jhpCzdKTUftOMqMHzMzh6zf6Qfub6qhNHt0YdrZQu+cLb4YV5NNEVXLGgWXN5ZQBEvN01sxzJCZcyvH4mK9mbaDaPBLsUsvGAQMhoRXtB9k+1XVQBiMLIgK4eJcG6i+nZoI8LXlWv/GkSbKn56rniBi/B+inZDM1AZR4tx9+UBO2zBFwaSWN98oQPpn8wg+FktiFUj4Aosg5z2en5GSLaZYB0YwZyC+Jwq4atBSTM4Ep/lAhFhBJBuV5Hujt493GVCbfnXecEeEJFfiD2+L+gQtUEF6OASIsSgwyvZOiQB2mkfgWSvRbhqCoRT/LuB3re0Aeyriif5yzT+s2qBJC4I6AlMDxx8gKiCU4N2Up5MTppJ0cRD0drnLHrkl2OUSMnmUd0b5ickcX8KXs8lnZgGtAJo8RkXrEsiWP38VbD4CZ+fVePNo=----ATTACHMENT:----NzgwNzA2NjA0MzkzMTQyIDU5NTcyMDE1ODc3OTE0MjcgMjg4Mjc4ODQ2MDA2ODE2Nw==