Merge pull request #5577 from appwrite/feat-improve-logs
Feat: Improve logs
This commit is contained in:
commit
7d19fe87f5
4 changed files with 34 additions and 16 deletions
|
@ -85,6 +85,8 @@ Server::setResource('queueForFunctions', function (Registry $register) {
|
|||
);
|
||||
}, ['register']);
|
||||
|
||||
Server::setResource('log', fn() => new Log());
|
||||
|
||||
Server::setResource('logger', function ($register) {
|
||||
return $register->get('logger');
|
||||
}, ['register']);
|
||||
|
@ -119,16 +121,15 @@ $server
|
|||
->error()
|
||||
->inject('error')
|
||||
->inject('logger')
|
||||
->action(function (Throwable $error, Logger $logger) {
|
||||
->inject('log')
|
||||
->action(function (Throwable $error, Logger $logger, Log $log) {
|
||||
$version = App::getEnv('_APP_VERSION', 'UNKNOWN');
|
||||
|
||||
if ($error instanceof PDOException) {
|
||||
throw $error;
|
||||
}
|
||||
|
||||
if ($error->getCode() >= 500 || $error->getCode() === 0) {
|
||||
$log = new Log();
|
||||
|
||||
if ($logger && ($error->getCode() >= 500 || $error->getCode() === 0)) {
|
||||
$log->setNamespace("appwrite-worker");
|
||||
$log->setServer(\gethostname());
|
||||
$log->setVersion($version);
|
||||
|
@ -146,7 +147,8 @@ $server
|
|||
$isProduction = App::getEnv('_APP_ENV', 'development') === 'production';
|
||||
$log->setEnvironment($isProduction ? Log::ENVIRONMENT_PRODUCTION : Log::ENVIRONMENT_STAGING);
|
||||
|
||||
$logger->addLog($log);
|
||||
$responseCode = $logger->addLog($log);
|
||||
Console::info('Usage stats log pushed with status code: ' . $responseCode);
|
||||
}
|
||||
|
||||
Console::error('[Error] Type: ' . get_class($error));
|
||||
|
|
|
@ -20,6 +20,7 @@ use Utopia\Database\Permission;
|
|||
use Utopia\Database\Query;
|
||||
use Utopia\Database\Role;
|
||||
use Utopia\Database\Validator\Authorization;
|
||||
use Utopia\Logger\Log;
|
||||
use Utopia\Queue\Server;
|
||||
|
||||
Authorization::disable();
|
||||
|
@ -27,6 +28,7 @@ Authorization::setDefaultStatus(false);
|
|||
|
||||
Server::setResource('execute', function () {
|
||||
return function (
|
||||
Log $log,
|
||||
Func $queueForFunctions,
|
||||
Database $dbForProject,
|
||||
Client $statsd,
|
||||
|
@ -40,10 +42,16 @@ Server::setResource('execute', function () {
|
|||
string $eventData = null,
|
||||
string $executionId = null,
|
||||
) {
|
||||
$error = null; // Used to re-throw at the end to trigger Logger (Sentry)
|
||||
$errorCode = 0;
|
||||
|
||||
$user ??= new Document();
|
||||
$functionId = $function->getId();
|
||||
$deploymentId = $function->getAttribute('deployment', '');
|
||||
|
||||
$log->addExtra('functionId', $functionId);
|
||||
$log->addExtra('projectId', $project->getId());
|
||||
|
||||
/** Check if deployment exists */
|
||||
$deployment = $dbForProject->getDocument('deployments', $deploymentId);
|
||||
|
||||
|
@ -153,10 +161,8 @@ Server::setResource('execute', function () {
|
|||
->setAttribute('statusCode', $th->getCode())
|
||||
->setAttribute('stderr', $th->getMessage());
|
||||
|
||||
Console::error($th->getTraceAsString());
|
||||
Console::error($th->getFile());
|
||||
Console::error($th->getLine());
|
||||
Console::error($th->getMessage());
|
||||
$error = $th->getMessage();
|
||||
$errorCode = $th->getCode();
|
||||
}
|
||||
|
||||
$execution = $dbForProject->updateDocument('executions', $executionId, $execution);
|
||||
|
@ -217,6 +223,10 @@ Server::setResource('execute', function () {
|
|||
->setParam('networkResponseSize', 0)
|
||||
->submit();
|
||||
}
|
||||
|
||||
if (!empty($error)) {
|
||||
throw new Exception($error, $errorCode);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
|
@ -226,7 +236,8 @@ $server->job()
|
|||
->inject('queueForFunctions')
|
||||
->inject('statsd')
|
||||
->inject('execute')
|
||||
->action(function (Message $message, Database $dbForProject, Func $queueForFunctions, Client $statsd, callable $execute) {
|
||||
->inject('log')
|
||||
->action(function (Message $message, Database $dbForProject, Func $queueForFunctions, Client $statsd, callable $execute, Log $log) {
|
||||
$payload = $message->getPayload() ?? [];
|
||||
|
||||
if (empty($payload)) {
|
||||
|
@ -269,6 +280,7 @@ $server->job()
|
|||
}
|
||||
Console::success('Iterating function: ' . $function->getAttribute('name'));
|
||||
$execute(
|
||||
log: $log,
|
||||
statsd: $statsd,
|
||||
dbForProject: $dbForProject,
|
||||
project: $project,
|
||||
|
@ -297,6 +309,7 @@ $server->job()
|
|||
$execution = new Document($payload['execution'] ?? []);
|
||||
$user = new Document($payload['user'] ?? []);
|
||||
$execute(
|
||||
log: $log,
|
||||
project: $project,
|
||||
function: $function,
|
||||
dbForProject: $dbForProject,
|
||||
|
@ -313,6 +326,7 @@ $server->job()
|
|||
break;
|
||||
case 'schedule':
|
||||
$execute(
|
||||
log: $log,
|
||||
project: $project,
|
||||
function: $function,
|
||||
dbForProject: $dbForProject,
|
||||
|
|
12
composer.lock
generated
12
composer.lock
generated
|
@ -2509,16 +2509,16 @@
|
|||
},
|
||||
{
|
||||
"name": "utopia-php/queue",
|
||||
"version": "0.5.2",
|
||||
"version": "0.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/queue.git",
|
||||
"reference": "310271c5cd477541208d7fa74a4dea64df8e04a0"
|
||||
"reference": "8e8b6cb27172713fe5d8b7b092ce68516caf129a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/queue/zipball/310271c5cd477541208d7fa74a4dea64df8e04a0",
|
||||
"reference": "310271c5cd477541208d7fa74a4dea64df8e04a0",
|
||||
"url": "https://api.github.com/repos/utopia-php/queue/zipball/8e8b6cb27172713fe5d8b7b092ce68516caf129a",
|
||||
"reference": "8e8b6cb27172713fe5d8b7b092ce68516caf129a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2564,9 +2564,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/queue/issues",
|
||||
"source": "https://github.com/utopia-php/queue/tree/0.5.2"
|
||||
"source": "https://github.com/utopia-php/queue/tree/0.5.3"
|
||||
},
|
||||
"time": "2023-03-07T08:54:10+00:00"
|
||||
"time": "2023-05-24T19:06:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/registry",
|
||||
|
|
|
@ -483,6 +483,8 @@ services:
|
|||
- _APP_USAGE_STATS
|
||||
- DOCKERHUB_PULL_USERNAME
|
||||
- DOCKERHUB_PULL_PASSWORD
|
||||
- _APP_LOGGING_CONFIG
|
||||
- _APP_LOGGING_PROVIDER
|
||||
|
||||
appwrite-worker-mails:
|
||||
entrypoint: worker-mails
|
||||
|
|
Loading…
Reference in a new issue