UNPKG

astro

Version:

Astro is a modern site builder with web best practices, performance, and DX front-of-mind.

40 lines (39 loc) 990 B
import { AstroLogger, getEventPrefix, levels } from "../core.js"; import { matchesLevel } from "../public.js"; function nodeLogDestination(config = {}) { const { level = "info" } = config; return { write(event) { let dest = process.stderr; if (levels[event.level] < levels["error"]) { dest = process.stdout; } if (!matchesLevel(event.level, level)) { return; } let trailingLine = event.newLine ? "\n" : ""; if (event.label === "SKIP_FORMAT") { dest.write(event.message + trailingLine); } else { dest.write(getEventPrefix(event) + " " + event.message + trailingLine); } } }; } function node_default(options) { return nodeLogDestination(options); } function createNodeLoggerFromFlags(inlineConfig) { return new AstroLogger({ destination: nodeLogDestination(), level: inlineConfig.logLevel ?? "info" }); } export { createNodeLoggerFromFlags, node_default as default };