mirror of
https://github.com/better-auth/better-auth.git
synced 2026-05-27 01:16:55 -05:00
refactor: revert back to consola
This commit is contained in:
@@ -86,15 +86,16 @@
|
||||
"@nanostores/vue": "^0.10.0",
|
||||
"@noble/ciphers": "^0.6.0",
|
||||
"@simplewebauthn/browser": "^10.0.0",
|
||||
"@simplewebauthn/server": "^10.0.1",
|
||||
"@simplewebauthn/server": "^10.0.1",
|
||||
"better-call": "0.2.6",
|
||||
"c12": "^1.11.2",
|
||||
"chalk": "^5.3.0",
|
||||
"commander": "^12.1.0",
|
||||
"defu": "^6.1.4",
|
||||
"consola": "^3.2.3",
|
||||
"defu": "^6.1.4",
|
||||
"kysely": "^0.27.4",
|
||||
"nanoid": "^5.0.7",
|
||||
"nanostores": "^0.11.2",
|
||||
"nanoid": "^5.0.7",
|
||||
"nanostores": "^0.11.2",
|
||||
"oslo": "^1.2.1",
|
||||
"prompts": "^2.4.2",
|
||||
"tinyexec": "^0.3.0",
|
||||
|
||||
@@ -67,7 +67,7 @@ export const migrate = new Command("migrate")
|
||||
logger.info(`🔑 The migration will affect the following:`);
|
||||
|
||||
for (const table of [...toBeCreated, ...toBeAdded]) {
|
||||
logger.info(
|
||||
console.log(
|
||||
"->",
|
||||
chalk.magenta(Object.keys(table.fields).join(", ")),
|
||||
chalk.white("fields on"),
|
||||
|
||||
@@ -86,7 +86,6 @@ export async function getConfig({
|
||||
try {
|
||||
let configFile: BetterAuthOptions | null = null;
|
||||
if (configPath) {
|
||||
const alias = getPathAliases(cwd);
|
||||
const { config } = await loadConfig<{
|
||||
auth: {
|
||||
options: BetterAuthOptions;
|
||||
|
||||
@@ -1,123 +1,45 @@
|
||||
type LogLevel = "debug" | "info" | "success" | "warn" | "error";
|
||||
type LogFunction = (message: any, ...args: any[]) => void;
|
||||
type LoggerOptions = {
|
||||
import { createConsola } from "consola";
|
||||
|
||||
const consola = createConsola({
|
||||
formatOptions: {
|
||||
date: false,
|
||||
colors: true,
|
||||
compact: true,
|
||||
},
|
||||
defaults: {
|
||||
tag: "Better Auth",
|
||||
},
|
||||
});
|
||||
|
||||
export const createLogger = (options?: {
|
||||
disabled?: boolean;
|
||||
minLevel?: LogLevel;
|
||||
customFormat?: (
|
||||
level: LogLevel,
|
||||
message: any,
|
||||
timestamp: string,
|
||||
libraryName: string,
|
||||
...args: any[]
|
||||
) => string;
|
||||
};
|
||||
|
||||
const LOG_LEVELS: Record<LogLevel, number> = {
|
||||
debug: 0,
|
||||
info: 1,
|
||||
success: 2,
|
||||
warn: 3,
|
||||
error: 4,
|
||||
};
|
||||
|
||||
const LIBRARY_NAME = "Better Auth";
|
||||
|
||||
const formatDate = (date: Date): string => {
|
||||
const pad = (num: number): string => num.toString().padStart(2, "0");
|
||||
|
||||
const year = date.getFullYear();
|
||||
const month = pad(date.getMonth() + 1);
|
||||
const day = pad(date.getDate());
|
||||
const hours = pad(date.getHours());
|
||||
const minutes = pad(date.getMinutes());
|
||||
const seconds = pad(date.getSeconds());
|
||||
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
};
|
||||
|
||||
const colorize = (text: string, color: string): string => {
|
||||
const colors: Record<string, string> = {
|
||||
reset: "\x1b[0m",
|
||||
green: "\x1b[32m",
|
||||
yellow: "\x1b[33m",
|
||||
red: "\x1b[31m",
|
||||
blue: "\x1b[34m",
|
||||
cyan: "\x1b[36m",
|
||||
};
|
||||
return `${colors[color]}${text}${colors.reset}`;
|
||||
};
|
||||
|
||||
const defaultFormat = (
|
||||
level: LogLevel,
|
||||
message: any,
|
||||
timestamp: string,
|
||||
libraryName: string,
|
||||
...args: any[]
|
||||
): string => {
|
||||
let formattedLevel = level.toUpperCase();
|
||||
let colorizedMessage = message;
|
||||
|
||||
switch (level) {
|
||||
case "debug":
|
||||
formattedLevel = colorize(formattedLevel, "cyan");
|
||||
break;
|
||||
case "info":
|
||||
formattedLevel = colorize(formattedLevel, "blue");
|
||||
break;
|
||||
case "success":
|
||||
formattedLevel = colorize(`✓ ${formattedLevel}`, "green");
|
||||
colorizedMessage = colorize(message, "green");
|
||||
break;
|
||||
case "warn":
|
||||
formattedLevel = colorize(formattedLevel, "yellow");
|
||||
break;
|
||||
case "error":
|
||||
formattedLevel = colorize(formattedLevel, "red");
|
||||
break;
|
||||
}
|
||||
|
||||
return `[${timestamp}] [${libraryName}] ${formattedLevel}: ${colorizedMessage} ${
|
||||
args.length ? JSON.stringify(args) : ""
|
||||
}`;
|
||||
};
|
||||
|
||||
export function createLogger(options: LoggerOptions = {}) {
|
||||
const {
|
||||
disabled = false,
|
||||
minLevel = "info",
|
||||
customFormat = defaultFormat,
|
||||
} = options;
|
||||
|
||||
const loggerFunction = (level: LogLevel): LogFunction => {
|
||||
return (message: any, ...args: any[]) => {
|
||||
if (disabled) return;
|
||||
if (LOG_LEVELS[level] >= LOG_LEVELS[minLevel]) {
|
||||
const timestamp = formatDate(new Date());
|
||||
const formattedMessage = customFormat(
|
||||
level,
|
||||
message,
|
||||
timestamp,
|
||||
LIBRARY_NAME,
|
||||
...args,
|
||||
);
|
||||
console.log(formattedMessage);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
}) => {
|
||||
return {
|
||||
debug: loggerFunction("debug"),
|
||||
info: loggerFunction("info"),
|
||||
break: () => {
|
||||
console.log("\n");
|
||||
log: (...args: any[]) => {
|
||||
!options?.disabled && consola.log("", ...args);
|
||||
},
|
||||
success: loggerFunction("success"),
|
||||
warn: loggerFunction("warn"),
|
||||
error: loggerFunction("error"),
|
||||
setMinLevel: (level: LogLevel) => {
|
||||
options.minLevel = level;
|
||||
error: (...args: any[]) => {
|
||||
!options?.disabled && consola.error("", ...args);
|
||||
},
|
||||
warn: (...args: any[]) => {
|
||||
!options?.disabled && consola.warn("", ...args);
|
||||
},
|
||||
info: (...args: any[]) => {
|
||||
!options?.disabled && consola.info("", ...args);
|
||||
},
|
||||
debug: (...args: any[]) => {
|
||||
!options?.disabled && consola.debug("", ...args);
|
||||
},
|
||||
box: (...args: any[]) => {
|
||||
!options?.disabled && consola.box("", ...args);
|
||||
},
|
||||
success: (...args: any[]) => {
|
||||
!options?.disabled && consola.success("", ...args);
|
||||
},
|
||||
break: (...args: any[]) => {
|
||||
!options?.disabled && console.log("\n");
|
||||
},
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export const logger = createLogger();
|
||||
|
||||
Reference in New Issue
Block a user