1
0
Fork 0
mirror of synced 2024-06-29 11:40:45 +12:00

Apply new structure of logs

This commit is contained in:
Matej Bačo 2023-05-24 20:14:58 +02:00
parent b81e9ffd47
commit 0244154017
2 changed files with 15 additions and 6 deletions

View file

@ -85,6 +85,8 @@ Server::setResource('queueForFunctions', function (Registry $register) {
); );
}, ['register']); }, ['register']);
Server::setResource('log', fn() => new Log());
Server::setResource('logger', function ($register) { Server::setResource('logger', function ($register) {
return $register->get('logger'); return $register->get('logger');
}, ['register']); }, ['register']);
@ -119,7 +121,8 @@ $server
->error() ->error()
->inject('error') ->inject('error')
->inject('logger') ->inject('logger')
->action(function (Throwable $error, Logger $logger) { ->inject('log')
->action(function (Throwable $error, Logger $logger, Log $log) {
$version = App::getEnv('_APP_VERSION', 'UNKNOWN'); $version = App::getEnv('_APP_VERSION', 'UNKNOWN');
if ($error instanceof PDOException) { if ($error instanceof PDOException) {
@ -127,8 +130,6 @@ $server
} }
if ($error->getCode() >= 500 || $error->getCode() === 0) { if ($error->getCode() >= 500 || $error->getCode() === 0) {
$log = new Log();
$log->setNamespace("appwrite-worker"); $log->setNamespace("appwrite-worker");
$log->setServer(\gethostname()); $log->setServer(\gethostname());
$log->setVersion($version); $log->setVersion($version);

View file

@ -20,6 +20,7 @@ use Utopia\Database\Permission;
use Utopia\Database\Query; use Utopia\Database\Query;
use Utopia\Database\Role; use Utopia\Database\Role;
use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Authorization;
use Utopia\Logger\Log;
use Utopia\Queue\Server; use Utopia\Queue\Server;
Authorization::disable(); Authorization::disable();
@ -27,6 +28,7 @@ Authorization::setDefaultStatus(false);
Server::setResource('execute', function () { Server::setResource('execute', function () {
return function ( return function (
Log $log,
Func $queueForFunctions, Func $queueForFunctions,
Database $dbForProject, Database $dbForProject,
Client $statsd, Client $statsd,
@ -46,6 +48,9 @@ Server::setResource('execute', function () {
$functionId = $function->getId(); $functionId = $function->getId();
$deploymentId = $function->getAttribute('deployment', ''); $deploymentId = $function->getAttribute('deployment', '');
$log->addExtra('functionId', $functionId);
$log->addExtra('projectId', $project->getId());
/** Check if deployment exists */ /** Check if deployment exists */
$deployment = $dbForProject->getDocument('deployments', $deploymentId); $deployment = $dbForProject->getDocument('deployments', $deploymentId);
@ -223,8 +228,7 @@ Server::setResource('execute', function () {
} }
if (!empty($error)) { if (!empty($error)) {
$projectId = $project->getId(); throw new Exception($error);
throw new Exception("Error in project #{$projectId}, function #{$functionId}: " . $error);
} }
}; };
}); });
@ -235,7 +239,8 @@ $server->job()
->inject('queueForFunctions') ->inject('queueForFunctions')
->inject('statsd') ->inject('statsd')
->inject('execute') ->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() ?? []; $payload = $message->getPayload() ?? [];
if (empty($payload)) { if (empty($payload)) {
@ -278,6 +283,7 @@ $server->job()
} }
Console::success('Iterating function: ' . $function->getAttribute('name')); Console::success('Iterating function: ' . $function->getAttribute('name'));
$execute( $execute(
log: $log,
statsd: $statsd, statsd: $statsd,
dbForProject: $dbForProject, dbForProject: $dbForProject,
project: $project, project: $project,
@ -306,6 +312,7 @@ $server->job()
$execution = new Document($payload['execution'] ?? []); $execution = new Document($payload['execution'] ?? []);
$user = new Document($payload['user'] ?? []); $user = new Document($payload['user'] ?? []);
$execute( $execute(
log: $log,
project: $project, project: $project,
function: $function, function: $function,
dbForProject: $dbForProject, dbForProject: $dbForProject,
@ -322,6 +329,7 @@ $server->job()
break; break;
case 'schedule': case 'schedule':
$execute( $execute(
log: $log,
project: $project, project: $project,
function: $function, function: $function,
dbForProject: $dbForProject, dbForProject: $dbForProject,