feat: add some funcs
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { createWriteStream, type WriteStream } from 'fs'
|
||||
import { paths } from './paths'
|
||||
|
||||
/**
|
||||
* Journalisation sur disque du launcher (logs/launcher.log).
|
||||
*
|
||||
* Capture tout ce qui transite par `events.ts` (sortie jeu + packwiz + messages
|
||||
* de phase + erreurs), pour pouvoir dépanner un joueur à distance. Le fichier
|
||||
* est tronqué au début de chaque session "Jouer".
|
||||
*/
|
||||
|
||||
let stream: WriteStream | null = null
|
||||
|
||||
function ts(): string {
|
||||
return new Date().toISOString()
|
||||
}
|
||||
|
||||
/** Ouvre (en tronquant) un nouveau fichier de log et écrit un en-tête. */
|
||||
export function startSession(): void {
|
||||
stream?.end()
|
||||
stream = createWriteStream(paths.launcherLogFile, { flags: 'w' })
|
||||
stream.write(`=== Session OFLauncher ${ts()} ===\n`)
|
||||
}
|
||||
|
||||
/** Ajoute une ligne au log courant (no-op si aucune session ouverte). */
|
||||
export function write(line: string): void {
|
||||
if (!stream) return
|
||||
const text = line.endsWith('\n') ? line : `${line}\n`
|
||||
stream.write(text)
|
||||
}
|
||||
Reference in New Issue
Block a user