diff options
| author | Dmitry Sharshakov <sh7dm@outlook.com> | 2019-02-11 05:28:52 +0300 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2019-02-10 21:28:52 -0500 |
| commit | 53784dce7cb51e0713f563513479ef4101d8c111 (patch) | |
| tree | 6c53abee4969e92c80bb789978934b4cc8a78211 | |
| parent | 33f62789cde407059abba0a7ac18b2145c648ea7 (diff) | |
Add colors to log module (denoland/deno_std#175)
Original: https://github.com/denoland/deno_std/commit/d895c60a51e7cdbf517fee226ffb0274904979f8
| -rw-r--r-- | log/handlers.ts | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/log/handlers.ts b/log/handlers.ts index 9241bd77e..5c65c4fd0 100644 --- a/log/handlers.ts +++ b/log/handlers.ts @@ -1,7 +1,8 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. import { open, File, Writer } from "deno"; -import { getLevelByName } from "./levels.ts"; +import { getLevelByName, LogLevel } from "./levels.ts"; import { LogRecord } from "./logger.ts"; +import { red, yellow, blue, bold } from "../colors/mod.ts"; const DEFAULT_FORMATTER = "{levelName} {msg}"; type FormatterFunction = (logRecord: LogRecord) => string; @@ -52,6 +53,29 @@ export class BaseHandler { } export class ConsoleHandler extends BaseHandler { + format(logRecord: LogRecord): string { + let msg = super.format(logRecord); + + switch (logRecord.level) { + case LogLevel.INFO: + msg = blue(msg); + break; + case LogLevel.WARNING: + msg = yellow(msg); + break; + case LogLevel.ERROR: + msg = red(msg); + break; + case LogLevel.CRITICAL: + msg = bold(red(msg)); + break; + default: + break; + } + + return msg; + } + log(msg: string) { console.log(msg); } |
