24 lines
775 B
TypeScript
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";
|