chore(logging): adds a log line for notifications of file upload status change (#3964)

This commit is contained in:
Iain Sproat
2025-02-12 10:34:14 +00:00
committed by GitHub
parent a8969c9b33
commit e75c3a523c
3 changed files with 25 additions and 0 deletions
+1
View File
@@ -32,6 +32,7 @@ export const automateLogger = extendLoggerComponent(logger, 'automate')
export const subscriptionLogger = extendLoggerComponent(logger, 'subscription')
export const healthCheckLogger = extendLoggerComponent(logger, 'healthcheck')
export const testLogger = extendLoggerComponent(logger, 'test')
export const fileUploadsLogger = extendLoggerComponent(logger, 'file-uploads')
export type Logger = typeof logger
export { extendLoggerComponent, Observability }
@@ -0,0 +1,8 @@
import { BaseError } from '@/modules/shared/errors'
//TODO this represents an internal server error and not a client/user error (e.g. error in a file content)
export class FileUploadInternalError extends BaseError {
static defaultMessage = 'A file upload error occurred.'
static code = 'FILE_UPLOAD_ERROR'
static statusCode = 500
}
@@ -11,6 +11,9 @@ import {
import { GetFileInfo } from '@/modules/fileuploads/domain/operations'
import { GetStreamBranchByName } from '@/modules/core/domain/branches/operations'
import { AddBranchCreatedActivity } from '@/modules/activitystream/domain/operations'
import { fileUploadsLogger as logger } from '@/logging/logging'
import { FileUploadConvertedStatus } from '@/modules/fileuploads/helpers/types'
import { FileUploadInternalError } from '@/modules/fileuploads/helpers/errors'
type OnFileImportProcessedDeps = {
getFileInfo: GetFileInfo
@@ -45,6 +48,19 @@ export const onFileImportProcessedFactory =
])
if (!upload) return
if (upload.convertedStatus === FileUploadConvertedStatus.Error) {
//TODO in future differentiate between internal server errors and user errors
const err = new FileUploadInternalError(
upload.convertedMessage || 'Unknown error while uploading file.'
)
logger.error(
{ err, fileImportDetails: upload },
'Error while processing file upload.'
)
} else {
logger.info({ fileImportDetails: upload }, 'File upload processed.')
}
if (isNewBranch) {
await publish(FileImportSubscriptions.ProjectPendingModelsUpdated, {
projectPendingModelsUpdated: {