From 764f65ff6198cb36b34fa62993192b80d3c730b9 Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Thu, 11 Jan 2024 16:44:25 -0500 Subject: [PATCH] fix: allow failure for log deletion --- api/dev/Unraid.net/myservers.cfg | 2 +- api/dev/states/myservers.cfg | 2 +- api/src/core/log.ts | 21 +++++++++++++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/api/dev/Unraid.net/myservers.cfg b/api/dev/Unraid.net/myservers.cfg index 71dc881ea..7f7fd4be7 100644 --- a/api/dev/Unraid.net/myservers.cfg +++ b/api/dev/Unraid.net/myservers.cfg @@ -1,5 +1,5 @@ [api] -version="3.3.0" +version="3.3.0+89cb2544" extraOrigins="https://google.com,https://test.com" [local] [notifier] diff --git a/api/dev/states/myservers.cfg b/api/dev/states/myservers.cfg index 07ab4a929..85260f114 100644 --- a/api/dev/states/myservers.cfg +++ b/api/dev/states/myservers.cfg @@ -1,5 +1,5 @@ [api] -version="3.3.0" +version="3.3.0+89cb2544" extraOrigins="https://google.com,https://test.com" [local] [notifier] diff --git a/api/src/core/log.ts b/api/src/core/log.ts index 618b99feb..e2a221c01 100644 --- a/api/src/core/log.ts +++ b/api/src/core/log.ts @@ -2,7 +2,7 @@ import { pino } from 'pino'; import { LOG_TRANSPORT, LOG_TYPE } from '@app/environment'; import pretty from 'pino-pretty'; -import { chmodSync, existsSync, mkdirSync, rmSync } from 'node:fs'; +import { chmodSync, existsSync, mkdirSync, rmSync, statSync } from 'node:fs'; import { getters } from '@app/store/index'; import { join } from 'node:path'; @@ -13,8 +13,18 @@ const makeLoggingDirectoryIfNotExists = () => { } chmodSync(getters.paths()['log-base'], 0o644); - - rmSync(`${getters.paths()['log-base']}/stdout.log.*`); + console.log('here'); + if ( + existsSync(`${getters.paths()['log-base']}/stdout.log`) && + statSync(`${getters.paths()['log-base']}/stdout.log`).size > 50_000 + ) { + rmSync(`${getters.paths()['log-base']}/stdout.log`); + } + try { + rmSync(`${getters.paths()['log-base']}/stdout.log.*`); + } catch (e) { + console.log('No old logs to remove'); + } }; if (LOG_TRANSPORT === 'file') { @@ -38,7 +48,10 @@ const level = ] ?? 'info'; export const logDestination = pino.destination({ - dest: LOG_TRANSPORT === 'file' ? join(getters.paths()['log-base'], 'stdout.log') : 1, + dest: + LOG_TRANSPORT === 'file' + ? join(getters.paths()['log-base'], 'stdout.log') + : 1, minLength: 1_024, sync: false, });