/** * @param $level * @param $message * @param array $context * @throws \Exception */ private function send($level, $message, array $context) { $msg = new Zmsg($this->socket); if (sizeof($context) > 0) { $msg->wrap(json_encode($context)); $msg->wrap(ZLogger::CONTEXT_DELIMITER); } $msg->wrap($message); $msg->wrap($level); $msg->wrap(sprintf("%.0f", microtime(1) * 1000)); $msg->wrap($this->logName); if ($this->verbose) { print_r("I: send msg"); echo PHP_EOL, $msg, PHP_EOL; } $msg->send(true); }
public function testMultiPartMessage() { $zmsgo = new Zmsg(self::$outputSocket); $zmsgo->body_set("Hello"); $zmsgo->wrap("address1", ""); $zmsgo->wrap("address2"); $this->assertEquals($zmsgo->parts(), 4); $zmsgo->send(); $zmsgi = new Zmsg(self::$inputSocket); $zmsgi->recv(); $this->assertEquals($zmsgi->parts(), 5); $zmsgi->unwrap(); $this->assertEquals($zmsgi->unwrap(), "address2"); $zmsgi->body_fmt("%s%s", 'W', "orld"); $this->assertEquals($zmsgi->body(), "World"); // Pull off address 1, check that empty part was dropped $zmsgi->unwrap(); $this->assertEquals($zmsgi->parts(), 1); // Check that message body was correctly modified $part = $zmsgi->pop(); $this->assertEquals($part, "World"); $this->assertEquals($zmsgi->parts(), 0); }