1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-27 17:49:08 -05:00
denoland-deno/log/logger_test.ts

98 lines
2.2 KiB
TypeScript
Raw Normal View History

2019-02-07 11:45:47 -05:00
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
2019-03-06 16:39:50 -05:00
import { test } from "../testing/mod.ts";
import { assertEquals } from "../testing/asserts.ts";
2019-01-27 10:21:00 -05:00
import { LogRecord, Logger } from "./logger.ts";
import { LogLevel } from "./levels.ts";
import { BaseHandler } from "./handlers.ts";
class TestHandler extends BaseHandler {
public messages: string[] = [];
public records: LogRecord[] = [];
handle(record: LogRecord): void {
this.records.push({ ...record, datetime: null });
2019-01-27 10:21:00 -05:00
super.handle(record);
}
public log(str: string): void {
this.messages.push(str);
}
}
2019-04-24 07:41:23 -04:00
test(function simpleLogger(): void {
2019-01-27 10:21:00 -05:00
const handler = new TestHandler("DEBUG");
let logger = new Logger("DEBUG");
assertEquals(logger.level, LogLevel.DEBUG);
assertEquals(logger.levelName, "DEBUG");
assertEquals(logger.handlers, []);
2019-01-27 10:21:00 -05:00
logger = new Logger("DEBUG", [handler]);
assertEquals(logger.handlers, [handler]);
2019-01-27 10:21:00 -05:00
});
2019-04-24 07:41:23 -04:00
test(function customHandler(): void {
2019-01-27 10:21:00 -05:00
const handler = new TestHandler("DEBUG");
const logger = new Logger("DEBUG", [handler]);
logger.debug("foo", 1, 2);
assertEquals(handler.records, [
2019-01-27 10:21:00 -05:00
{
msg: "foo",
args: [1, 2],
datetime: null,
level: LogLevel.DEBUG,
levelName: "DEBUG"
}
]);
assertEquals(handler.messages, ["DEBUG foo"]);
2019-01-27 10:21:00 -05:00
});
2019-04-24 07:41:23 -04:00
test(function logFunctions(): void {
2019-01-27 10:21:00 -05:00
let handler: TestHandler;
2019-03-04 19:53:35 -05:00
const doLog = (level: string): void => {
2019-01-27 10:21:00 -05:00
handler = new TestHandler(level);
let logger = new Logger(level, [handler]);
logger.debug("foo");
logger.info("bar");
logger.warning("baz");
logger.error("boo");
logger.critical("doo");
};
doLog("DEBUG");
assertEquals(handler.messages, [
2019-01-27 10:21:00 -05:00
"DEBUG foo",
"INFO bar",
"WARNING baz",
"ERROR boo",
"CRITICAL doo"
]);
doLog("INFO");
assertEquals(handler.messages, [
2019-01-27 10:21:00 -05:00
"INFO bar",
"WARNING baz",
"ERROR boo",
"CRITICAL doo"
]);
doLog("WARNING");
assertEquals(handler.messages, ["WARNING baz", "ERROR boo", "CRITICAL doo"]);
2019-01-27 10:21:00 -05:00
doLog("ERROR");
assertEquals(handler.messages, ["ERROR boo", "CRITICAL doo"]);
2019-01-27 10:21:00 -05:00
doLog("CRITICAL");
assertEquals(handler.messages, ["CRITICAL doo"]);
2019-01-27 10:21:00 -05:00
});