astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
29 lines (28 loc) • 726 B
JavaScript
import { getEventPrefix, levels, AstroLogger } from "../core.js";
import { matchesLevel } from "../public.js";
function consoleLogDestination(config = {}) {
const { level = "info" } = config;
return { write(event) {
let dest = console.error;
if (levels[event.level] < levels["error"]) {
dest = console.info;
}
if (!matchesLevel(event.level, level)) {
return;
}
if (event.label === "SKIP_FORMAT") {
dest(event.message);
} else {
dest(getEventPrefix(event) + " " + event.message);
}
} };
}
export function createConsoleLogger({ level }) {
return new AstroLogger({
level,
destination: consoleLogDestination()
});
}
export default function(options) {
return consoleLogDestination(options);
}