PHPDaemon\Core\Daemon::log PHP Метод

log() публичный статический Метод

Send message to the log
public static log ( $args )
$args
    public static function log(...$args)
    {
        if (sizeof($args) === 1) {
            $msg = is_scalar($args[0]) ? $args[0] : Debug::dump($args[0]);
        } else {
            $msg = Debug::dump($args);
        }
        $mt = explode(' ', microtime());
        if (is_resource(STDERR)) {
            fwrite(STDERR, '[PHPD] ' . $msg . "\n");
        }
        $msg = str_replace("", $msg, date(strtr(Daemon::$config->logformat->value, ['%msg%' => "", '\\u' => '\\u', 'u' => sprintf('%06d', $mt[0] * 1000000)]))) . "\n";
        if (Daemon::$logpointerAsync) {
            Daemon::$logpointerAsync->write($msg);
        } elseif (Daemon::$logpointer) {
            fwrite(Daemon::$logpointer, $msg);
        }
    }

Usage Example

Пример #1
4
 /**
  * Called when the worker is ready to go.
  * @return void
  */
 public function onReady()
 {
     $appInstance = $this;
     // a reference to this application instance for ExampleWebSocketRoute
     \PHPDaemon\Servers\WebSocket\Pool::getInstance()->addRoute('ExamplePubSub', function ($client) use($appInstance) {
         return new ExamplePubSubWebSocketRoute($client, $appInstance);
     });
     $this->sql = \PHPDaemon\Clients\MySQL\Pool::getInstance();
     $this->pubsub = new \PHPDaemon\PubSub\PubSub();
     $this->pubsub->addEvent('usersNum', \PHPDaemon\PubSub\PubSubEvent::init()->onActivation(function ($pubsub) use($appInstance) {
         \PHPDaemon\Core\Daemon::log('onActivation');
         if (isset($pubsub->event)) {
             \PHPDaemon\Core\Timer::setTimeout($pubsub->event, 0);
             return;
         }
         $pubsub->event = setTimeout(function ($timer) use($pubsub, $appInstance) {
             $appInstance->sql->getConnection(function ($sql) use($pubsub) {
                 if (!$sql->connected) {
                     return;
                 }
                 $sql->query('SELECT COUNT(*) `num` FROM `dle_users`', function ($sql, $success) use($pubsub) {
                     $pubsub->pub(sizeof($sql->resultRows) ? $sql->resultRows[0]['num'] : 'null');
                 });
             });
             $timer->timeout(5000000.0);
             // 5 seconds
         }, 0);
     })->onDeactivation(function ($pubsub) {
         if (isset($pubsub->event)) {
             \PHPDaemon\Core\Timer::cancelTimeout($pubsub->event);
         }
     }));
 }
All Usage Examples Of PHPDaemon\Core\Daemon::log