From 88b229b13e208c4da9349f0067dcc1ec4ce578d8 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 14 Apr 2025 21:35:26 +0000 Subject: [PATCH 1/3] chore: fix error logging for CLI tasks --- app/cli.php | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/app/cli.php b/app/cli.php index 82f229673e..2bf1c7ff58 100644 --- a/app/cli.php +++ b/app/cli.php @@ -219,6 +219,13 @@ CLI::setResource('queueForCertificates', function (Publisher $publisher) { }, ['publisher']); CLI::setResource('logError', function (Registry $register) { return function (Throwable $error, string $namespace, string $action) use ($register) { + Console::error('[Error] Timestamp: ' . date('c', time())); + Console::error('[Error] Type: ' . get_class($error)); + Console::error('[Error] Message: ' . $error->getMessage()); + Console::error('[Error] File: ' . $error->getFile()); + Console::error('[Error] Line: ' . $error->getLine()); + Console::error('Trace: ' . $error->getTraceAsString()); + $logger = $register->get('logger'); if ($logger) { @@ -237,6 +244,7 @@ CLI::setResource('logError', function (Registry $register) { $log->addExtra('file', $error->getFile()); $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); + $log->addExtra('detailedTrace', $error->getTrace()); $log->setAction($action); @@ -250,24 +258,34 @@ CLI::setResource('logError', function (Registry $register) { Console::error('Error pushing log: ' . $th->getMessage()); } } - - Console::warning("Failed: {$error->getMessage()}"); - Console::warning($error->getTraceAsString()); }; }, ['register']); CLI::setResource('executor', fn () => new Executor(fn (string $projectId, string $deploymentId) => System::getEnv('_APP_EXECUTOR_HOST'))); $platform = new Appwrite(); -$platform->init(Service::TYPE_TASK); +$args = $platform->getEnv('argv'); +if (!isset($args[0])) { + Console::error('Missing task name'); + Console::exit(1); +} + +\array_shift($args); +$taskName = $args[0]; +$platform->init(Service::TYPE_TASK); $cli = $platform->getCli(); $cli ->error() ->inject('error') - ->action(function (Throwable $error) { - Console::error($error->getMessage()); + ->inject('logError') + ->action(function (Throwable $error, callable $logError) use ($taskName) { + call_user_func_array($logError, [ + $error, + 'Task', + $taskName, + ]); }); $cli->run(); From c3120f4aaaab02b4686dc6c388a485586d95a460 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Tue, 15 Apr 2025 10:30:29 +0530 Subject: [PATCH 2/3] chore: add error tag Co-authored-by: Jake Barnby --- app/cli.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/cli.php b/app/cli.php index 2bf1c7ff58..3a4fb844a1 100644 --- a/app/cli.php +++ b/app/cli.php @@ -224,7 +224,7 @@ CLI::setResource('logError', function (Registry $register) { Console::error('[Error] Message: ' . $error->getMessage()); Console::error('[Error] File: ' . $error->getFile()); Console::error('[Error] Line: ' . $error->getLine()); - Console::error('Trace: ' . $error->getTraceAsString()); + Console::error('[Error] Trace: ' . $error->getTraceAsString()); $logger = $register->get('logger'); From f08ea92df4598208586214698e80cbb5b73b9321 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Tue, 15 Apr 2025 11:08:24 +0000 Subject: [PATCH 3/3] chore: update cli --- composer.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/composer.lock b/composer.lock index cc2ad97b6c..288e894004 100644 --- a/composer.lock +++ b/composer.lock @@ -1365,16 +1365,16 @@ }, { "name": "open-telemetry/sdk", - "version": "1.2.3", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sdk.git", - "reference": "0e7804c176c4b09d95b7985400aa38ce544cb7fc" + "reference": "47fcb66ae5328c5a799195247b1dce551d85873e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/0e7804c176c4b09d95b7985400aa38ce544cb7fc", - "reference": "0e7804c176c4b09d95b7985400aa38ce544cb7fc", + "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/47fcb66ae5328c5a799195247b1dce551d85873e", + "reference": "47fcb66ae5328c5a799195247b1dce551d85873e", "shasum": "" }, "require": { @@ -1451,7 +1451,7 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2025-04-08T09:55:41+00:00" + "time": "2025-04-15T07:02:07+00:00" }, { "name": "open-telemetry/sem-conv", @@ -3351,16 +3351,16 @@ }, { "name": "utopia-php/cli", - "version": "0.15.1", + "version": "0.15.2", "source": { "type": "git", "url": "https://github.com/utopia-php/cli.git", - "reference": "d69bbe51a6a94dc4e5bcdd542b5938038b985a65" + "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/cli/zipball/d69bbe51a6a94dc4e5bcdd542b5938038b985a65", - "reference": "d69bbe51a6a94dc4e5bcdd542b5938038b985a65", + "url": "https://api.github.com/repos/utopia-php/cli/zipball/da00ff6b8b29a826a1794002ae43442cdf3a0f5f", + "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f", "shasum": "" }, "require": { @@ -3394,9 +3394,9 @@ ], "support": { "issues": "https://github.com/utopia-php/cli/issues", - "source": "https://github.com/utopia-php/cli/tree/0.15.1" + "source": "https://github.com/utopia-php/cli/tree/0.15.2" }, - "time": "2024-10-04T13:55:36+00:00" + "time": "2025-04-15T10:08:48+00:00" }, { "name": "utopia-php/compression",