From 4d8c2e3cdbaa27bf56acc0e593ed4cc522610370 Mon Sep 17 00:00:00 2001 From: Matej Baco Date: Mon, 6 Dec 2021 13:55:59 +0100 Subject: [PATCH] Fixed worker logger --- app/workers.php | 14 ++++++++------ composer.lock | 6 +++--- src/Appwrite/Resque/Worker.php | 13 +++++++------ 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/app/workers.php b/app/workers.php index bfd03a6a6d..9822834f85 100644 --- a/app/workers.php +++ b/app/workers.php @@ -2,6 +2,8 @@ use Appwrite\Extend\PDO; use Utopia\App; +use Utopia\CLI\Console; +use Utopia\Logger\Log; use Appwrite\Resque\Worker; /** @var Utopia\Registry\Registry $register */ @@ -33,18 +35,16 @@ $register->set('cache', function () { // Register cache connection return $redis; }); -Worker::error(function ($error, $action) use ($register) { +Worker::error(function ($error, $action, $workerType, $optionalExtras) use ($register) { /** @var Throwable|Exception $error */ /** @var string $action */ + /** @var string $workerType */ $logger = $register->get('logger'); if($logger) { $version = App::getEnv('_APP_VERSION', 'UNKNOWN'); - $className = \get_called_class(); - $workerType = $className; - $log = new Log(); $log->setNamespace("worker-" . $workerType); @@ -60,8 +60,10 @@ Worker::error(function ($error, $action) use ($register) { $log->addExtra('file', $error->getFile()); $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); - // $log->addExtra('args', $this->args); - // TODO: Test worker error for get_called_class and if args are in trace. What about JWT in args? Other secrets? What about realtime/API? + + if($optionalExtras) { + $log->addExtra('args', $optionalExtras); + } $action = 'worker.' . $workerType . '.' . $action; $log->setAction($action); diff --git a/composer.lock b/composer.lock index d4677b5da3..97d132ef78 100644 --- a/composer.lock +++ b/composer.lock @@ -2066,10 +2066,10 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/logger", - "reference": "c50b16a864857cfad381917b2e6f4991f1bccc3e" + "reference": "e67eafc1edb8729c463275b81ff4e870eb30c314" }, "require": { - "php": ">=7.4" + "php": ">=8.0" }, "require-dev": { "phpunit/phpunit": "^9.3", @@ -2113,7 +2113,7 @@ "utopia", "warnings" ], - "time": "2021-11-29T11:40:17+00:00" + "time": "2021-12-06T11:18:07+00:00" }, { "name": "utopia-php/orchestration", diff --git a/src/Appwrite/Resque/Worker.php b/src/Appwrite/Resque/Worker.php index b9972ed247..49928479e5 100644 --- a/src/Appwrite/Resque/Worker.php +++ b/src/Appwrite/Resque/Worker.php @@ -3,6 +3,7 @@ namespace Appwrite\Resque; use Exception; +use function var_dump; class Worker { @@ -75,8 +76,8 @@ class Worker try { $this->init(); } catch(\Throwable $error) { - foreach ($this->errorCallbacks as $errorCallback) { - $errorCallback($error, "init"); + foreach (self::$errorCallbacks as $errorCallback) { + $errorCallback($error, "init", $this->getName()); } throw $error; @@ -94,8 +95,8 @@ class Worker try { $this->run(); } catch(\Throwable $error) { - foreach ($this->errorCallbacks as $errorCallback) { - $errorCallback($error, "run"); + foreach (self::$errorCallbacks as $errorCallback) { + $errorCallback($error, "run", $this->getName(), $this->args); } throw $error; @@ -113,8 +114,8 @@ class Worker try { $this->shutdown(); } catch(\Throwable $error) { - foreach ($this->errorCallbacks as $errorCallback) { - $errorCallback($error, "shutdown"); + foreach (self::$errorCallbacks as $errorCallback) { + $errorCallback($error, "shutdown", $this->getName()); } throw $error;