studiocms
Version:
Astro Native CMS for AstroDB. Built from the ground up by the Astro community.
37 lines (36 loc) • 886 B
JavaScript
import { supportsColor } from "@withstudiocms/cli-kit/colors";
import { date } from "@withstudiocms/cli-kit/messages";
import chalk from "chalk";
import { Effect } from "effect";
let stdout = process.stdout;
function setStdout(writable) {
stdout = writable;
}
const send = (message) => stdout.write(`${message}
`);
const logger = {
debug: (message) => {
if (!supportsColor) {
send(`DEBUG [${date}]: ${message}`);
return;
}
send(`${chalk.blue.bold(`DEBUG [${date}]:`)} ${message}`);
}
};
const buildDebugLogger = Effect.fn(function* (debug) {
return Effect.fn(
(message) => Effect.try(() => {
if (!debug) return;
if (!supportsColor) {
send(`DEBUG [${date}]: ${message}`);
return;
}
send(`${chalk.blue.bold(`DEBUG [${date}]:`)} ${message}`);
})
);
});
export {
buildDebugLogger,
logger,
setStdout
};