mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-25 06:18:45 +08:00
fix(server): better error handling and logging for storage (#5553)
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import { Logger } from '@nestjs/common';
|
||||||
|
|
||||||
import { R2StorageConfig } from '../../../config/storage';
|
import { R2StorageConfig } from '../../../config/storage';
|
||||||
import { S3StorageProvider } from './s3';
|
import { S3StorageProvider } from './s3';
|
||||||
|
|
||||||
@@ -12,5 +14,6 @@ export class R2StorageProvider extends S3StorageProvider {
|
|||||||
},
|
},
|
||||||
bucket
|
bucket
|
||||||
);
|
);
|
||||||
|
this.logger = new Logger(`${R2StorageProvider.name}:${bucket}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {
|
|||||||
DeleteObjectCommand,
|
DeleteObjectCommand,
|
||||||
GetObjectCommand,
|
GetObjectCommand,
|
||||||
ListObjectsV2Command,
|
ListObjectsV2Command,
|
||||||
|
NoSuchKey,
|
||||||
PutObjectCommand,
|
PutObjectCommand,
|
||||||
S3Client,
|
S3Client,
|
||||||
} from '@aws-sdk/client-s3';
|
} from '@aws-sdk/client-s3';
|
||||||
@@ -21,7 +22,7 @@ import {
|
|||||||
import { autoMetadata, toBuffer } from './utils';
|
import { autoMetadata, toBuffer } from './utils';
|
||||||
|
|
||||||
export class S3StorageProvider implements StorageProvider {
|
export class S3StorageProvider implements StorageProvider {
|
||||||
private readonly logger: Logger;
|
protected logger: Logger;
|
||||||
protected client: S3Client;
|
protected client: S3Client;
|
||||||
|
|
||||||
readonly type = 's3';
|
readonly type = 's3';
|
||||||
@@ -96,9 +97,15 @@ export class S3StorageProvider implements StorageProvider {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw new Error(`Failed to read object \`${key}\``, {
|
// 404
|
||||||
cause: e,
|
if (e instanceof NoSuchKey) {
|
||||||
});
|
this.logger.verbose(`Object \`${key}\` not found`);
|
||||||
|
return {};
|
||||||
|
} else {
|
||||||
|
throw new Error(`Failed to read object \`${key}\``, {
|
||||||
|
cause: e,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user