logging: apply phase 4 warn/error level tuning

This commit is contained in:
Richard R 2026-05-27 04:28:35 -06:00
parent 59d0101c0c
commit 29cc4fa42d
8 changed files with 20 additions and 20 deletions

View file

@ -29,7 +29,7 @@ export async function DELETE() {
try { try {
await deleteUserStorageData(session.user.id, testNamespace); await deleteUserStorageData(session.user.id, testNamespace);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, '[account-delete] Failed to clean up namespaced user storage before deletion:'); serverLogger.warn({ err: error }, '[account-delete] Failed to clean up namespaced user storage before deletion:');
} }
} }

View file

@ -186,7 +186,7 @@ async function runFFmpeg(args: string[], signal?: AbortSignal): Promise<void> {
} }
ffmpeg.stderr.on('data', (data) => { ffmpeg.stderr.on('data', (data) => {
serverLogger.error(`ffmpeg stderr: ${data}`); serverLogger.warn(`ffmpeg stderr: ${data}`);
}); });
ffmpeg.on('close', (code) => { ffmpeg.on('close', (code) => {

View file

@ -116,7 +116,7 @@ async function runFFmpeg(args: string[], signal?: AbortSignal): Promise<void> {
} }
ffmpeg.stderr.on('data', (data) => { ffmpeg.stderr.on('data', (data) => {
serverLogger.error(`ffmpeg stderr: ${data}`); serverLogger.warn(`ffmpeg stderr: ${data}`);
}); });
ffmpeg.on('close', (code) => { ffmpeg.on('close', (code) => {

View file

@ -163,7 +163,7 @@ export async function POST(req: NextRequest) {
}, },
testNamespace, testNamespace,
).catch((error) => { ).catch((error) => {
serverLogger.error({ err: error }, `Failed to enqueue preview for converted DOCX ${id}:`); serverLogger.warn({ err: error }, `Failed to enqueue preview for converted DOCX ${id}:`);
}); });
enqueueParsePdfJob({ enqueueParsePdfJob({

View file

@ -173,7 +173,7 @@ export async function POST(req: NextRequest) {
}, },
testNamespace, testNamespace,
).catch((error) => { ).catch((error) => {
serverLogger.error({ err: error }, `Failed to enqueue preview for document ${doc.id}:`); serverLogger.warn({ err: error }, `Failed to enqueue preview for document ${doc.id}:`);
}); });
if (doc.type === 'pdf') { if (doc.type === 'pdf') {
@ -343,15 +343,15 @@ export async function DELETE(req: NextRequest) {
await deleteDocumentBlob(id, testNamespace); await deleteDocumentBlob(id, testNamespace);
} catch (error) { } catch (error) {
if (!isMissingBlobError(error)) { if (!isMissingBlobError(error)) {
serverLogger.error({ err: error }, `[best-effort] Failed to delete blob for document ${id}, orphaned blob may need manual cleanup:`); serverLogger.warn({ err: error }, `[best-effort] Failed to delete blob for document ${id}, orphaned blob may need manual cleanup:`);
} }
} }
await cleanupDocumentPreviewArtifacts(id, testNamespace).catch((error) => { await cleanupDocumentPreviewArtifacts(id, testNamespace).catch((error) => {
serverLogger.error({ err: error }, `Failed to cleanup preview artifacts for document ${id}:`); serverLogger.warn({ err: error }, `Failed to cleanup preview artifacts for document ${id}:`);
}); });
await deleteDocumentPreviewRows(id, testNamespace).catch((error) => { await deleteDocumentPreviewRows(id, testNamespace).catch((error) => {
serverLogger.error({ err: error }, `Failed to cleanup preview rows for document ${id}:`); serverLogger.warn({ err: error }, `Failed to cleanup preview rows for document ${id}:`);
}); });
} }

View file

@ -78,7 +78,7 @@ export async function GET(req: NextRequest) {
archive.on('warning', (warning) => { archive.on('warning', (warning) => {
if ((warning as NodeJS.ErrnoException).code !== 'ENOENT') { if ((warning as NodeJS.ErrnoException).code !== 'ENOENT') {
serverLogger.error({ err: warning }, 'User export warning:'); serverLogger.warn({ err: warning }, 'User export warning:');
} }
}); });

View file

@ -91,7 +91,7 @@ const createAuth = () => betterAuth({
const { deleteUserStorageData } = await import('@/lib/server/user/data-cleanup'); const { deleteUserStorageData } = await import('@/lib/server/user/data-cleanup');
await deleteUserStorageData(user.id, null); await deleteUserStorageData(user.id, null);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, '[auth] Failed to clean up user storage before deletion:'); serverLogger.warn({ err: error }, '[auth] Failed to clean up user storage before deletion:');
// Don't throw allow the user deletion to proceed even if S3 cleanup fails. // Don't throw allow the user deletion to proceed even if S3 cleanup fails.
// Orphaned blobs are preferable to a blocked account deletion. // Orphaned blobs are preferable to a blocked account deletion.
} }
@ -163,7 +163,7 @@ const createAuth = () => betterAuth({
await rateLimiter.transferAnonymousUsage(anonymousUser.user.id, newUser.user.id); await rateLimiter.transferAnonymousUsage(anonymousUser.user.id, newUser.user.id);
serverLogger.info(`Successfully transferred rate limit data from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`); serverLogger.info(`Successfully transferred rate limit data from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, "Error transferring rate limit data during account linking:"); serverLogger.warn({ err: error }, "Error transferring rate limit data during account linking:");
// Don't throw here to prevent blocking the account linking process // Don't throw here to prevent blocking the account linking process
} }
@ -174,7 +174,7 @@ const createAuth = () => betterAuth({
serverLogger.info(`Successfully transferred ${transferred} audiobook(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`); serverLogger.info(`Successfully transferred ${transferred} audiobook(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`);
} }
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, "Error transferring audiobooks during account linking:"); serverLogger.warn({ err: error }, "Error transferring audiobooks during account linking:");
// Don't throw here to prevent blocking the account linking process // Don't throw here to prevent blocking the account linking process
} }
@ -185,7 +185,7 @@ const createAuth = () => betterAuth({
serverLogger.info(`Successfully transferred ${transferred} document(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`); serverLogger.info(`Successfully transferred ${transferred} document(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`);
} }
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, "Error transferring documents during account linking:"); serverLogger.warn({ err: error }, "Error transferring documents during account linking:");
// Don't throw here to prevent blocking the account linking process // Don't throw here to prevent blocking the account linking process
} }
@ -196,7 +196,7 @@ const createAuth = () => betterAuth({
serverLogger.info(`Successfully transferred preferences from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`); serverLogger.info(`Successfully transferred preferences from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`);
} }
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, "Error transferring preferences during account linking:"); serverLogger.warn({ err: error }, "Error transferring preferences during account linking:");
// Don't throw here to prevent blocking the account linking process // Don't throw here to prevent blocking the account linking process
} }
@ -207,7 +207,7 @@ const createAuth = () => betterAuth({
serverLogger.info(`Successfully transferred ${transferred} progress row(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`); serverLogger.info(`Successfully transferred ${transferred} progress row(s) from anonymous user ${anonymousUser.user.id} to user ${newUser.user.id}`);
} }
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, "Error transferring reading progress during account linking:"); serverLogger.warn({ err: error }, "Error transferring reading progress during account linking:");
// Don't throw here to prevent blocking the account linking process // Don't throw here to prevent blocking the account linking process
} }
} catch (error) { } catch (error) {

View file

@ -50,13 +50,13 @@ export async function deleteUserStorageData(
await deleteDocumentBlob(doc.id, namespace); await deleteDocumentBlob(doc.id, namespace);
docsDeleted++; docsDeleted++;
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, `[user-data-cleanup] Failed to delete document blob ${doc.id}:`); serverLogger.warn({ err: error }, `[user-data-cleanup] Failed to delete document blob ${doc.id}:`);
} }
try { try {
await deleteDocumentPreviewArtifacts(doc.id, namespace); await deleteDocumentPreviewArtifacts(doc.id, namespace);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, `[user-data-cleanup] Failed to delete preview for ${doc.id}:`); serverLogger.warn({ err: error }, `[user-data-cleanup] Failed to delete preview for ${doc.id}:`);
} }
} }
@ -64,7 +64,7 @@ export async function deleteUserStorageData(
try { try {
await deleteDocumentPreviewRows(doc.id, namespace); await deleteDocumentPreviewRows(doc.id, namespace);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, `[user-data-cleanup] Failed to delete preview rows for ${doc.id}:`); serverLogger.warn({ err: error }, `[user-data-cleanup] Failed to delete preview rows for ${doc.id}:`);
} }
} }
@ -83,7 +83,7 @@ export async function deleteUserStorageData(
await deleteAudiobookPrefix(prefix); await deleteAudiobookPrefix(prefix);
booksDeleted++; booksDeleted++;
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, `[user-data-cleanup] Failed to delete audiobook blobs ${book.id}:`); serverLogger.warn({ err: error }, `[user-data-cleanup] Failed to delete audiobook blobs ${book.id}:`);
} }
} }
@ -98,7 +98,7 @@ export async function deleteUserStorageData(
segmentsDeleted += await deleteTtsSegmentPrefix(ttsPrefixV1); segmentsDeleted += await deleteTtsSegmentPrefix(ttsPrefixV1);
segmentsDeleted += await deleteTtsSegmentPrefix(ttsPrefixV2); segmentsDeleted += await deleteTtsSegmentPrefix(ttsPrefixV2);
} catch (error) { } catch (error) {
serverLogger.error({ err: error }, `[user-data-cleanup] Failed to delete TTS segment blobs for user ${userId}:`); serverLogger.warn({ err: error }, `[user-data-cleanup] Failed to delete TTS segment blobs for user ${userId}:`);
} }
} }