mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-09 15:49:07 +00:00
REFACTOR: Improve logging with additional metadata
- Enhanced logs to include more detailed request body information.
- Standardized log calls to include extra metadata, such as service name, environment, customer name, user ID, HTTP method, and request path.
- Improved error logging to provide better debugging insights.
Example log format:
EXTRA[{"service":{"name":"maestro","environment":"stg"},"customer_name":"dadosfera","user_id":"047824d8-0021-709a-bf15-39b8dd069aaf","method":"POST","path":"/catalog/register-dataset"}]
Related tickets or issues: [TECN-9441]
This commit is contained in:
@@ -758,8 +758,15 @@ export class CatalogController {
|
||||
@Body() body: RegisterDatasetWithMetatadaRequest,
|
||||
@User() user: RequestUser,
|
||||
) {
|
||||
try {
|
||||
const { customer_id, customer_name, user_id, username } = user;
|
||||
const logMetadata = {
|
||||
customer_name: customer_name,
|
||||
user_id: user_id,
|
||||
method: 'POST',
|
||||
path: '/catalog/register-dataset',
|
||||
};
|
||||
try {
|
||||
|
||||
const metadata = PackTheMetadata({
|
||||
customer_id,
|
||||
customer_name,
|
||||
@@ -767,23 +774,22 @@ export class CatalogController {
|
||||
username,
|
||||
});
|
||||
|
||||
this.logger.log('Request from user', {
|
||||
user_id,
|
||||
customer_name,
|
||||
});
|
||||
this.logger.log(`Request from user ${user_id} for customer ${customer_name}`, logMetadata);
|
||||
|
||||
// Create table metadata
|
||||
const tableMetadataBody = {
|
||||
table_metadata: body.table_metadata,
|
||||
info: {
|
||||
customer: customer_name,
|
||||
|
||||
},
|
||||
logMetadata: logMetadata
|
||||
};
|
||||
this.logger.debug('Creating table metadata', { body: tableMetadataBody });
|
||||
|
||||
const table_metadata_id = await this.catalogService.createTableMetadata(
|
||||
tableMetadataBody,
|
||||
);
|
||||
this.logger.info(`table_metadata_id: ${table_metadata_id}`);
|
||||
this.logger.info(`table_metadata_id: ${table_metadata_id}`, logMetadata);
|
||||
|
||||
// Create column metadata
|
||||
const columnMetadataBody = {
|
||||
@@ -792,9 +798,7 @@ export class CatalogController {
|
||||
customer: customer_name,
|
||||
},
|
||||
};
|
||||
this.logger.debug('Creating column metadata', {
|
||||
body: columnMetadataBody,
|
||||
});
|
||||
this.logger.info(`Creating column metadata for table ${table_metadata_id}`, logMetadata);
|
||||
const column_metadata_ids = await this.catalogService.createColumnMetadata(columnMetadataBody)
|
||||
|
||||
// Create data preview
|
||||
@@ -804,18 +808,15 @@ export class CatalogController {
|
||||
customer: customer_name,
|
||||
},
|
||||
};
|
||||
this.logger.debug('Creating data preview', { body: dataPreviewBody });
|
||||
this.logger.debug(`Creating data preview for table ${table_metadata_id}`, logMetadata);
|
||||
const data_preview_id = await this.catalogService.createDataPreview(
|
||||
dataPreviewBody,
|
||||
);
|
||||
|
||||
// Catalog dataset item
|
||||
this.logger.debug('Cataloging dataset item', { table_metadata_id });
|
||||
|
||||
this.logger.info(`metadata: ${JSON.stringify(metadata)}`);
|
||||
this.logger.info(`Cataloging dataset item for table ${table_metadata_id}`, logMetadata);
|
||||
await this.catalogService.catalogDatasetItem(table_metadata_id, metadata);
|
||||
|
||||
this.logger.info('Dataset registration completed successfully');
|
||||
this.logger.info(`Dataset registration completed successfully for table ${table_metadata_id}`, logMetadata);
|
||||
return {
|
||||
message: 'Dataset registered successfully',
|
||||
table_metadata_id: table_metadata_id,
|
||||
@@ -823,19 +824,7 @@ export class CatalogController {
|
||||
data_preview_id: data_preview_id,
|
||||
};
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to register dataset', {
|
||||
error: {
|
||||
message: error.message,
|
||||
stack: error.stack,
|
||||
response: error.response?.data,
|
||||
status: error.response?.status,
|
||||
},
|
||||
context: {
|
||||
customer_name: user.customer_name,
|
||||
user_id: user.user_id,
|
||||
table_metadata: body.table_metadata?.table_name,
|
||||
},
|
||||
});
|
||||
this.logger.error(`Failed to register dataset. The following error occurred: ${error.response.data}`, logMetadata);
|
||||
|
||||
throw new HttpException(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user