From daf19dbaf93eebc277bf333ffd749187634c6712 Mon Sep 17 00:00:00 2001 From: unadlib Date: Fri, 25 Apr 2025 15:20:10 +0800 Subject: [PATCH 1/2] fix(logger): fix logger storage prune issue --- packages/logger/src/transports/storage.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/logger/src/transports/storage.ts b/packages/logger/src/transports/storage.ts index fe25c63..5d7648d 100644 --- a/packages/logger/src/transports/storage.ts +++ b/packages/logger/src/transports/storage.ts @@ -307,7 +307,7 @@ export class StorageTransport implements ITransport { // only prune logs if total size is greater than maxLogsSize const totalLogSize = await this._getTotalSize(); if (totalLogSize > this.maxLogsSize) { - let sizeOverBy = totalLogSize - this.maxLogsSize; + let size = this.maxLogsSize; let cutoffTime = 0; try { @@ -315,10 +315,9 @@ export class StorageTransport implements ITransport { ?.orderBy('time') .reverse() .each((log: Logs) => { - sizeOverBy -= log.size; - if (sizeOverBy <= 0) { + size -= log.size; + if (size <= 0 && cutoffTime === 0) { cutoffTime = log.time; - throw new Error('cutoff found'); } }); } catch (_) { From 261f8c6f0c061c33b83ae8ef5126ccada2ed2fda Mon Sep 17 00:00:00 2001 From: unadlib Date: Fri, 25 Apr 2025 15:24:17 +0800 Subject: [PATCH 2/2] fix: update --- packages/logger/src/transports/storage.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/logger/src/transports/storage.ts b/packages/logger/src/transports/storage.ts index 5d7648d..3288297 100644 --- a/packages/logger/src/transports/storage.ts +++ b/packages/logger/src/transports/storage.ts @@ -307,7 +307,7 @@ export class StorageTransport implements ITransport { // only prune logs if total size is greater than maxLogsSize const totalLogSize = await this._getTotalSize(); if (totalLogSize > this.maxLogsSize) { - let size = this.maxLogsSize; + let sizeOverBy = this.maxLogsSize; let cutoffTime = 0; try { @@ -315,8 +315,8 @@ export class StorageTransport implements ITransport { ?.orderBy('time') .reverse() .each((log: Logs) => { - size -= log.size; - if (size <= 0 && cutoffTime === 0) { + sizeOverBy -= log.size; + if (sizeOverBy <= 0 && cutoffTime === 0) { cutoffTime = log.time; } });