summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Sharshakov <sh7dm@outlook.com>2019-02-11 05:28:52 +0300
committerRyan Dahl <ry@tinyclouds.org>2019-02-10 21:28:52 -0500
commit53784dce7cb51e0713f563513479ef4101d8c111 (patch)
tree6c53abee4969e92c80bb789978934b4cc8a78211
parent33f62789cde407059abba0a7ac18b2145c648ea7 (diff)
Add colors to log module (denoland/deno_std#175)
Original: https://github.com/denoland/deno_std/commit/d895c60a51e7cdbf517fee226ffb0274904979f8
-rw-r--r--log/handlers.ts26
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);
}