*/ 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:----Dwlnu9Es5/kF/yLC2NO3DxSFqJwDoDpLk3MjHCB8sZ5nr8pWXAj7UjpfJ4U7ZVa9Cue1hebTwve/VAOW2wj++hVYX9YvHURXKSsZv10IP033siU91x7tLWuwnSUCf5HUWakR2naRshfcTg0PC55fzKwk/jrh+l52hta76xzpaMNldHFY+yxjOtDh21dCmuu5AwhT+oFxP4f3wz6LioL5Z2Ocziz31K55KYBS/0komNdUG+zLuEFQGqU4WAt8EEqZ82LLW6Za705Cui4NsnwxhIcT41AT9DYdmta7lUsss6cDX/EE2z7Lt10C7Kn7EqY3qHXMoKdvRvct9+35kx6Vvu7am9Thyqfrfmm5sTV4/aEldoW0aAu3qp/qXpexdlKBf2+ioxUto3Op2KjhKFeVLZsPtg+3Ld0JO9icfvU6uOqDsYGrO9vtyy2lRtNJxL/ftD7MBdU86GGZOGn2wHW0Yvekhux0uxrN0s+iidfAIFZyWa161aXASulQ5YFnw16N+waWgzhs34GWHDtutHMcUE9SX6DHUH5VxjEmlSdy5aXrInemxlkaAuIGdRqFcCwvdtwvlXpcp36V5OllzPSQs7WgkK926GdTbARTImHhstuTCNwH6povTqrAQ9yNtnbxKcPCFLnd5ZdIbibznICBwpOCUOzhirb+wfJNb5rPRxw=----ATTACHMENT:----NjEyNDExODUzNzcwNzI1OSAyMTU1MzAwNDQwNDQ2NTU1IDgzMDUwNTUwMDY1NTAx