diff options
| author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2019-01-19 19:46:46 +0100 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2019-01-19 13:46:46 -0500 |
| commit | 4cc5839154d73f85f16593f6333375387cf56259 (patch) | |
| tree | 5e7b2375f59ae6f4e8d0ba60cea5e97328acb7e9 /log/test.ts | |
| parent | a489edc355e391117fc065dafe01bdf17c930b26 (diff) | |
Implement formatters for log (denoland/deno_std#127)
Original: https://github.com/denoland/deno_std/commit/c304ee503a2f2bef8cee2cb03d07785ad060b7bc
Diffstat (limited to 'log/test.ts')
| -rw-r--r-- | log/test.ts | 78 |
1 files changed, 72 insertions, 6 deletions
diff --git a/log/test.ts b/log/test.ts index fdc994eb7..4b623207f 100644 --- a/log/test.ts +++ b/log/test.ts @@ -3,16 +3,18 @@ import { assertEqual, test } from "../testing/mod.ts"; import * as log from "./mod.ts"; import { FileHandler } from "./handlers.ts"; -// TODO: establish something more sophisticated -let testOutput = ""; +// constructor(levelName: string, options: HandlerOptions = {}) { +// this.level = getLevelByName(levelName); +// this.levelName = levelName; + +// this.formatter = options.formatter || DEFAULT_FORMATTER; +// } class TestHandler extends log.handlers.BaseHandler { - constructor(levelName: string) { - super(levelName); - } + testOutput = ""; log(msg: string) { - testOutput += `${msg}\n`; + this.testOutput += `${msg}\n`; } } @@ -26,3 +28,67 @@ test(function testDefaultlogMethods() { const logger = log.getLogger(""); console.log(logger); }); + +test(async function testDefaultFormatter() { + await log.setup({ + handlers: { + test: new TestHandler("DEBUG"), + }, + + loggers: { + test: { + level: "DEBUG", + handlers: ["test"], + }, + }, + }); + + const logger = log.getLogger("test"); + const handler = log.getHandler("test"); + logger.debug("Hello, world!"); + assertEqual(handler.testOutput, "DEBUG Hello, world!\n"); +}); + +test(async function testFormatterAsString() { + await log.setup({ + handlers: { + test: new TestHandler("DEBUG", { + formatter: "test {levelName} {msg}", + }), + }, + + loggers: { + test: { + level: "DEBUG", + handlers: ["test"], + }, + }, + }); + + const logger = log.getLogger("test"); + const handler = log.getHandler("test"); + logger.debug("Hello, world!"); + assertEqual(handler.testOutput, "test DEBUG Hello, world!\n"); +}); + +test(async function testFormatterAsFunction() { + await log.setup({ + handlers: { + test: new TestHandler("DEBUG", { + formatter: logRecord => `fn formmatter ${logRecord.levelName} ${logRecord.msg}`, + }), + }, + + loggers: { + test: { + level: "DEBUG", + handlers: ["test"], + }, + }, + }); + + const logger = log.getLogger("test"); + const handler = log.getHandler("test"); + logger.error("Hello, world!"); + assertEqual(handler.testOutput, "fn formmatter ERROR Hello, world!\n"); +});
\ No newline at end of file |
