diff options
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/core/logger.ts | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/core/src/core/logger.ts b/packages/core/src/core/logger.ts index 562b14bf..76a2bfbe 100644 --- a/packages/core/src/core/logger.ts +++ b/packages/core/src/core/logger.ts @@ -66,6 +66,7 @@ export class Logger { private messageId = 0; // Instance-specific counter for the next messageId private initialized = false; private logs: LogEntry[] = []; // In-memory cache, ideally reflects the last known state of the file + private regexLogFile: fs.FileHandle | undefined; constructor( sessionId: string, @@ -156,6 +157,7 @@ export class Logger { ? Math.max(...sessionLogs.map((entry) => entry.messageId)) + 1 : 0; this.initialized = true; + this.regexLogFile = await fs.open('/tmp/regex.log', 'a'); } catch (err) { console.error('Failed to initialize logger:', err); this.initialized = false; @@ -264,6 +266,10 @@ export class Logger { // If an entry was actually written (not a duplicate skip), // then this instance can increment its idea of the next messageId for this session. this.messageId = writtenEntry.messageId + 1; + if (this.regexLogFile) { + const logString = `[${writtenEntry.timestamp}] [${writtenEntry.type}] ${writtenEntry.message}\n`; + await this.regexLogFile.write(logString); + } } } catch (_error) { // Error already logged by _updateLogFile or _readLogFile @@ -431,6 +437,9 @@ export class Logger { } close(): void { + if (this.regexLogFile) { + this.regexLogFile.close(); + } this.initialized = false; this.logFilePath = undefined; this.logs = []; |
