public function testLoggerWithContext() { $endpoint = "inproc://zmq_logger2"; $receiver = $this->createCollector(self::$context, $endpoint); $log1 = new ZLogger('l3', $endpoint, self::$context); $this->emptyPoll($receiver); $collector = new Zmsg($receiver); $msgOut = "asd123"; $context = [1 => 2, 'a' => 'b']; $log1->debug($msgOut, $context); $collector->recv(); $this->assertEquals($collector->parts(), 6); $this->assertEquals($collector->body(), json_encode($context)); $this->assertEquals($collector->pop(), 'l3'); $collector->pop(); //time $this->assertEquals($collector->pop(), 'debug'); $this->assertEquals($collector->pop(), $msgOut); $this->assertEquals($collector->pop(), ZLogger::CONTEXT_DELIMITER); $this->assertEquals($collector->pop(), json_encode($context)); }
<?php require './../../vendor/autoload.php'; use limitium\zmq\ZLogger; use Psr\Log\LogLevel; $levels = [LogLevel::EMERGENCY, LogLevel::ALERT, LogLevel::ERROR, LogLevel::WARNING, LogLevel::NOTICE, LogLevel::INFO, LogLevel::DEBUG]; $log = new ZLogger('log_' . rand(), 'tcp://127.0.0.1:5555', null, true); while (1) { $level = $levels[array_rand($levels)]; $log->log($level, "Example of {$level} log"); sleep(1); }