diff --git a/packages/spike/src/discord/crash.ts b/packages/spike/src/discord/crash.ts index 470b87d..d7bda1a 100644 --- a/packages/spike/src/discord/crash.ts +++ b/packages/spike/src/discord/crash.ts @@ -1,5 +1,12 @@ +import { mkdirSync } from "node:fs" +import { getConfig } from "../config" import { log } from "../log" +const crashLogDir = getConfig("dataDir") +mkdirSync(crashLogDir, { recursive: true }) + +const crashLogPath = `${crashLogDir}/crash.log` + export const logCrash = async (error: unknown) => { try { const stack = error instanceof Error ? error.stack : "" @@ -8,7 +15,7 @@ export const logCrash = async (error: unknown) => { const crashLog = `Spike crashed at ${new Date().toISOString()}:\n${message}\n${stack ?? ""}\n` // overwrite the crash log file - const file = Bun.file(`${process.env.DATA_DIR}/crash.log`) + const file = Bun.file(crashLogPath) file.write(crashLog) } catch (writeError) { log({ type: "error", error: writeError, context: "writing crash log" }) @@ -33,7 +40,7 @@ export const alertAboutCrashLog = async (client: any) => { const clearCrashLog = async () => { try { - const file = Bun.file(`${process.env.DATA_DIR}/crash.log`) + const file = Bun.file(crashLogPath) if (!(await file.exists())) return const contents = await file.text() await file.write("")