/** * Client-side logging endpoint. * Accepts log messages from the browser and outputs them server-side. */ export default defineEventHandler(async (event) => { // Note: Auth is optional - we rely on session cookie validation if needed const body = await readBody(event).catch(() => ({})) const { level, message, data, sessionId, userId } = body const logPrefix = `[CLIENT${sessionId ? `:${sessionId}` : ''}${userId ? `:${userId.slice(0, 8)}` : ''}]` const logMessage = data ? `${message} ${JSON.stringify(data)}` : message switch (level) { case 'error': console.error(logPrefix, logMessage) break case 'warn': console.warn(logPrefix, logMessage) break case 'info': console.log(logPrefix, logMessage) break case 'debug': console.log(logPrefix, logMessage) break default: console.log(logPrefix, logMessage) } return { ok: true } })