UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

31 lines (24 loc) 873 B
import { logger as _logger } from '@it-astro:logger:studiocms-runtime'; export const isVerbose = $$verbose$$; export const logger = _logger.fork('studiocms:runtime'); export default logger; const apiLogger = _logger.fork('studiocms:runtime/api'); function buildErrorMessage(message, error) { if (!error) return message; if (error instanceof Error) return `${message}: ${error.message}\n${error.stack}`; return `${message}: ${error}`; } export function apiResponseLogger(status, message, error) { if (status !== 200) { apiLogger.error(buildErrorMessage(message, error)); return new Response(JSON.stringify({ error: message }), { status, headers: { 'Content-Type': 'application/json' }, }); } isVerbose && apiLogger.info(message); return new Response(JSON.stringify({ message }), { status, headers: { 'Content-Type': 'application/json' }, }); }