fix(logger): batch fix audit-logger, circular meta, and sync callers

- Make logAudit and closeAuditLogger synchronous (were async for no reason)
- Set audit-logger silent:true initially, enable on applyAuditConfig()
- Add try-catch for circular references in consoleFormat meta JSON
- Update all callers to remove unnecessary await/.catch() on sync functions
- Add comment to shared.ts explaining acceptable sync FS usage
- Fix audit-logger test for sync closeAuditLogger

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka
2026-04-03 21:25:06 +08:00
parent a2e3681c8f
commit 6a9d144bbc
10 changed files with 37 additions and 24 deletions

View File

@@ -3,9 +3,9 @@ import logger from '../services/logger/index'
import { logAudit, closeAuditLogger } from '../services/logger/audit-logger'
export function setupProcessGuards(): void {
process.on('uncaughtException', async (err) => {
process.on('uncaughtException', (err) => {
logger.error('Uncaught exception', { error: err })
await logAudit('SYSTEM_CRASH', 'system', {
logAudit('SYSTEM_CRASH', 'system', {
username: 'system',
computerName: process.env.COMPUTERNAME || 'unknown',
resource: 'main-process',
@@ -15,9 +15,9 @@ export function setupProcessGuards(): void {
setTimeout(() => process.exit(1), 1000)
})
process.on('unhandledRejection', async (reason) => {
process.on('unhandledRejection', (reason) => {
logger.error('Unhandled Rejection', { reason: String(reason) })
await logAudit('SYSTEM_ERROR', 'system', {
logAudit('SYSTEM_ERROR', 'system', {
username: 'system',
computerName: process.env.COMPUTERNAME || 'unknown',
resource: 'main-process',