优化日志切分和保留策略
This commit is contained in:
@@ -14,6 +14,7 @@ export function createDefaultRuntimeConfig(projectRoot: string): RuntimeConfig {
|
||||
|
||||
logging: {
|
||||
level: "info",
|
||||
retentionDays: 30,
|
||||
},
|
||||
|
||||
database: {
|
||||
|
||||
@@ -12,6 +12,7 @@ test('applyEnvOverrides maps typed environment values without mutating base conf
|
||||
PORT: '4000',
|
||||
DATA_ROOT: './tmp/backend-data',
|
||||
DATABASE_SSL: 'yes',
|
||||
LOG_RETENTION_DAYS: '45',
|
||||
ADMIN_DEFAULT_USERS_JSON: '[{"username":"admin","password":"secret","role":"admin"}]',
|
||||
KAQUAN91_USER_ID: 'kaquan-user',
|
||||
KAQUAN91_SECRET: 'kaquan-secret',
|
||||
@@ -21,6 +22,7 @@ test('applyEnvOverrides maps typed environment values without mutating base conf
|
||||
assert.equal(config.server.port, 4000)
|
||||
assert.equal(config.data.root, path.resolve('./tmp/backend-data'))
|
||||
assert.equal(config.database.ssl, true)
|
||||
assert.equal(config.logging.retentionDays, 45)
|
||||
assert.deepEqual(config.admin.defaultUsers, [
|
||||
{ username: 'admin', password: 'secret', role: 'admin' },
|
||||
])
|
||||
@@ -55,12 +57,14 @@ test('applyEnvOverrides ignores empty or invalid values', () => {
|
||||
DATABASE_SSL: 'maybe',
|
||||
ADMIN_DEFAULT_USERS_JSON: '{"username":"admin"}',
|
||||
LOG_LEVEL: ' ',
|
||||
LOG_RETENTION_DAYS: 'not-a-number',
|
||||
})
|
||||
|
||||
assert.equal(config.server.port, 3000)
|
||||
assert.equal(config.database.ssl, false)
|
||||
assert.deepEqual(config.admin.defaultUsers, [])
|
||||
assert.equal(config.logging.level, 'info')
|
||||
assert.equal(config.logging.retentionDays, 30)
|
||||
})
|
||||
|
||||
test('ENV_OVERRIDES keeps environment variable names unique', () => {
|
||||
@@ -78,6 +82,7 @@ function createRuntimeConfig(): RuntimeConfig {
|
||||
},
|
||||
logging: {
|
||||
level: 'info',
|
||||
retentionDays: 30,
|
||||
},
|
||||
database: {
|
||||
url: 'postgres://postgres:postgres@127.0.0.1:5432/order_site',
|
||||
|
||||
@@ -31,6 +31,7 @@ export const ENV_OVERRIDES: readonly EnvOverride[] = [
|
||||
integerEnv("PORT", ["server", "port"]),
|
||||
stringEnv("DATA_ROOT", ["data", "root"], path.resolve),
|
||||
stringEnv("LOG_LEVEL", ["logging", "level"]),
|
||||
integerEnv("LOG_RETENTION_DAYS", ["logging", "retentionDays"]),
|
||||
stringEnv("DATABASE_URL", ["database", "url"]),
|
||||
booleanEnv("DATABASE_SSL", ["database", "ssl"]),
|
||||
integerEnv("DATABASE_MAX_CONNECTIONS", ["database", "maxConnections"]),
|
||||
|
||||
Reference in New Issue
Block a user