aboutsummaryrefslogtreecommitdiff
path: root/src/util/logger.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/logger.ts')
-rw-r--r--src/util/logger.ts21
1 files changed, 21 insertions, 0 deletions
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 })]
+});