From e499e3dc34d1e91cdad9276a7a168041479e6e64 Mon Sep 17 00:00:00 2001 From: Kevin J Hoerr Date: Sun, 8 Dec 2019 01:02:14 -0500 Subject: Add winston, express-winston to handle logging --- src/util/logger.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/util/logger.ts (limited to 'src/util/logger.ts') diff --git a/src/util/logger.ts b/src/util/logger.ts new file mode 100644 index 0000000..bafb829 --- /dev/null +++ b/src/util/logger.ts @@ -0,0 +1,21 @@ +import winston from "winston"; +const { combine, splat, timestamp, label, colorize, printf } = winston.format; +const { Console } = winston.transports; + +const LOG_LEVEL = process.env.LOG_LEVEL || "info"; + +/** + * Provides standard logging format and output for the server. + */ +export default (clazz: string, level: string = LOG_LEVEL) => ({ + format: combine( + splat(), + timestamp(), + label({ label: clazz }), + colorize(), + printf(({ level, message, label, timestamp }) => { + return `${timestamp} [${label}] ${level}: ${message}`; + }) + ), + transports: [new Console({ level: level })] +}); -- cgit