From 0a9b28782560245f52fef39d03f5d08362a86c1a Mon Sep 17 00:00:00 2001 From: Sam Chau Date: Tue, 21 Oct 2025 07:44:37 +1030 Subject: [PATCH] refactor(logging): simplify to daily-only rotation - Remove rotation_strategy and max_file_size settings - Always use YYYY-MM-DD.log format for log files - Update cleanup job to parse dates from filenames - Simplify settings UI to retention days only --- src/components/form/NumberInput.svelte | 4 +- src/db/db.ts | 4 +- src/db/migrations.ts | 6 +- .../migrations/006_simplify_log_settings.ts | 121 ++++++++++++++++++ src/db/queries/logSettings.ts | 14 -- src/db/schema.sql | 4 +- src/routes/settings/backups/+page.server.ts | 16 +-- src/routes/settings/backups/+page.svelte | 5 +- src/routes/settings/general/+page.server.ts | 16 --- .../general/components/BackupSettings.svelte | 14 +- .../general/components/LoggingSettings.svelte | 111 +++++----------- .../settings/general/components/types.ts | 2 - src/routes/settings/jobs/+page.server.ts | 8 +- .../settings/jobs/[id]/edit/+page.svelte | 33 +++-- .../settings/jobs/components/JobCard.svelte | 4 +- .../jobs/components/JobHistory.svelte | 13 +- src/routes/settings/logs/+page.server.ts | 4 +- src/routes/settings/logs/+page.svelte | 26 ++-- src/utils/jobs/definitions/cleanupLogs.ts | 29 +++-- src/utils/jobs/definitions/createBackup.ts | 8 +- src/utils/logger/logger.ts | 51 +------- src/utils/logger/settings.ts | 2 - 22 files changed, 249 insertions(+), 246 deletions(-) create mode 100644 src/db/migrations/006_simplify_log_settings.ts diff --git a/src/components/form/NumberInput.svelte b/src/components/form/NumberInput.svelte index 85cd9e8..8d1ebac 100644 --- a/src/components/form/NumberInput.svelte +++ b/src/components/form/NumberInput.svelte @@ -55,11 +55,11 @@ {step} {required} {disabled} - class="block w-full rounded-lg border border-neutral-300 bg-white px-3 py-2 pr-10 text-neutral-900 placeholder-neutral-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 focus:outline-none disabled:bg-neutral-100 disabled:text-neutral-500 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-50 dark:placeholder-neutral-500 dark:disabled:bg-neutral-900 dark:disabled:text-neutral-600 [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none" + class="block w-full [appearance:textfield] rounded-lg border border-neutral-300 bg-white px-3 py-2 pr-10 text-neutral-900 placeholder-neutral-400 focus:border-blue-500 focus:ring-1 focus:ring-blue-500 focus:outline-none disabled:bg-neutral-100 disabled:text-neutral-500 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-50 dark:placeholder-neutral-500 dark:disabled:bg-neutral-900 dark:disabled:text-neutral-600 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none" /> -
+
Cancel diff --git a/src/routes/settings/jobs/components/JobCard.svelte b/src/routes/settings/jobs/components/JobCard.svelte index 0cd1899..2905caf 100644 --- a/src/routes/settings/jobs/components/JobCard.svelte +++ b/src/routes/settings/jobs/components/JobCard.svelte @@ -201,14 +201,14 @@ {#if job.last_run_status === 'success'} Success {:else if job.last_run_status === 'failure'} Failed diff --git a/src/routes/settings/jobs/components/JobHistory.svelte b/src/routes/settings/jobs/components/JobHistory.svelte index 765c213..0d447d1 100644 --- a/src/routes/settings/jobs/components/JobHistory.svelte +++ b/src/routes/settings/jobs/components/JobHistory.svelte @@ -43,7 +43,9 @@ } -
+
@@ -98,14 +100,14 @@ {#if run.status === 'success'} Success {:else} Failed @@ -157,10 +159,7 @@ {:else} - + No job runs yet diff --git a/src/routes/settings/logs/+page.server.ts b/src/routes/settings/logs/+page.server.ts index c64170d..611e191 100644 --- a/src/routes/settings/logs/+page.server.ts +++ b/src/routes/settings/logs/+page.server.ts @@ -8,9 +8,7 @@ export const load = async ({ url }: { url: URL }) => { const selectedFile = url.searchParams.get('file') || logFiles[0]?.filename || ''; // Load logs from selected file or all files if no file selected - const logs = selectedFile - ? await readLogsFromFile(selectedFile, 1000) - : await readLastLogs(1000); + const logs = selectedFile ? await readLogsFromFile(selectedFile, 1000) : await readLastLogs(1000); return { logs, diff --git a/src/routes/settings/logs/+page.svelte b/src/routes/settings/logs/+page.svelte index 6574edb..ba8e714 100644 --- a/src/routes/settings/logs/+page.svelte +++ b/src/routes/settings/logs/+page.svelte @@ -118,14 +118,17 @@
-
@@ -256,9 +256,7 @@ > {log.message} - +