import { assertEqual, test } from "https://deno.land/x/testing/testing.ts"; import * as logging from "index.ts"; // TODO: establish something more sophisticated let testOutput = ""; class TestHandler extends logging.handlers.BaseHandler { _log(level, ...args) { testOutput += `${level} ${args[0]}\n`; } } logging.setup({ handlers: { debug: { level: "DEBUG", class: TestHandler }, info: { level: "INFO", class: TestHandler } }, loggers: { default: { level: "DEBUG", handlers: ["debug"] }, info: { level: "INFO", handlers: ["info"] } } }); const logger = logging.getLogger("default"); const unknownLogger = logging.getLogger("info"); test(function basicTest() { logger.debug("I should be printed."); unknownLogger.debug("I should not be printed."); unknownLogger.info("And I should be printed as well."); const expectedOutput = "10 I should be printed.\n20 And I should be printed as well.\n"; assertEqual(testOutput, expectedOutput); });