Skip to main content
Module

x/mysql/src/logger.ts

MySQL driver for Deno
Extremely Popular
Go to Latest
File
import { log } from "../deps.ts";
let logger = log.getLogger();
export { logger as log };
let isDebug = false;
/** @ignore */export function debug(func: Function) { if (isDebug) { func(); }}
export interface LoggerConfig { /** Enable logging (default: true) */ enable?: boolean; /** The minimal level to print (default: "INFO") */ level?: log.LevelName; /** A deno_std/log.Logger instance to be used as logger. When used, `level` is ignored. */ logger?: log.Logger;}
export async function configLogger(config: LoggerConfig) { let { enable = true, level = "INFO" } = config; if (config.logger) level = config.logger.levelName; isDebug = level == "DEBUG";
if (!enable) { logger = new log.Logger("fakeLogger", "NOTSET", {}); logger.level = 100; } else { if (!config.logger) { await log.setup({ handlers: { console: new log.handlers.ConsoleHandler(level), }, loggers: { default: { level: "DEBUG", handlers: ["console"], }, }, }); logger = log.getLogger(); } else { logger = config.logger; } }}