mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 09:39:08 -05:00
54 lines
1 KiB
TypeScript
54 lines
1 KiB
TypeScript
|
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);
|
||
|
});
|