feat(logging): add Seq transport, global meta fields, and improve error handling

- Add Seq centralized logging transport with async ESM import
- Add appVersion and computerName to logger defaultMeta (all app logs)
- Add appVersion to audit log entries for version-level traceability
- Improve unhandledRejection to capture full stack traces for Error instances
- Add Seq config schema and template configuration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka
2026-04-04 16:33:03 +08:00
parent fce8dbc37f
commit 1e0bb1de24
10 changed files with 336 additions and 31 deletions

View File

@@ -102,6 +102,15 @@ const DEFAULT_CONFIG: FullConfig = {
auditRetention: 30,
appRetention: 14
},
seq: {
enabled: false,
serverUrl: '',
apiKey: '',
batchPostingLimit: 50,
period: 2000,
queueLimit: 10000,
maxRetries: 3
},
rustfs: {
enabled: false,
endpoint: '',
@@ -207,7 +216,7 @@ export class ConfigManager {
this.config = validated
// Apply logging configuration
applyLoggingConfig(validated.logging)
applyLoggingConfig(validated.logging, validated.seq)
applyAuditConfig(validated.logging.auditRetention)
log.info('Configuration loaded and validated successfully', {