*/ 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:----Y5wMSozs42xNTE3BxdiIibCk0wNPh1ObPshyuQHLp/qAK7jm+b5UTtTVT/Po981cxW7vXX3ia1x5zeZhWHML+wTUdxe77QC8EViOsF5Td8PaL0r8GXf+4MhJ5Ya7PMn5lQi9rQ2HBfu4NEDCCkq/3LyBxHGVFzQwKiJ5eOietbQjmDrLNj0jcl0sNZDIRcRB7tnJvhPjXS5wRXsR2aIpeyVovS6jjJZtnGCNDClIa2cvqqvHK/52uhtqmCLp7dzEEE3aD0YF8u0ufR+fs9PxcfH3hkZCdX9WLPw/2lBQvMnq4sSH1vv/yJjc6VRES0pIIshfGoxV1g6quIMI8Z1NXINJasQbpSsZve68HxBXlepQqMn2A45uMnUrOy5nMAa3Aaw0AfSkj/ooSdvQBEi14G0RmTkpvTDIOSwoV1VVup2/E25DDDXoPyILlDjGti4eSKky433padedTLDkXlg1qstZuT7aBIzXvcl58kSZgNhgYXbtfmv65Lyid7JMRV3j+bdgRQdKuyAOzWtR++Mx09hKaW47kjT2c+3L5s6grwutm67LrVuArkh1r1NfqI+XM4ujgtU/3peE/pB42hKyK8SId5bJrs0KHNWU5Q9s8In5Ao7ZhPavYb3jE6ZZ09m5IrtzIbJP8w62DnU6tFsLrQ/VECr1B/lhQ/VlafDhzCU=----ATTACHMENT:----Nzg1NzcxNTU2NTA4MDUyNiA0MTY0ODM0ODQyNDkyMjIxIDEyNzkxNDQxMTU4NDE1NA==