blog/lib/log.ts

24 lines
775 B
TypeScript

import { ConsoleHandler, LogRecord, setup } from "@std/log";
import { bold, dim, magenta } from "@std/fmt/colors";
import { PRODUCTION } from "./environment.ts";
const formatter = (record: LogRecord): string => {
const params = Object.entries(record.args[0] || {}).map(([key, value]) => `${magenta(key)}: ${value.toString()}`)
.join(", ");
return `${dim(record.datetime.toISOString())} ${record.levelName.substring(0, 1)}, ${bold(record.msg)} ${params}`;
};
setup({
handlers: {
default: new ConsoleHandler("DEBUG", { formatter, useColors: false }),
},
loggers: {
default: {
level: PRODUCTION ? "INFO" : "DEBUG",
handlers: ["default"],
},
},
});
export { debug, error, info } from "@std/log";