aboutsummaryrefslogtreecommitdiff
path: root/src/util/logger.ts
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@protonmail.com>2019-12-08 01:02:14 -0500
committerKevin J Hoerr <kjhoerr@protonmail.com>2019-12-08 01:02:14 -0500
commite499e3dc34d1e91cdad9276a7a168041479e6e64 (patch)
tree9d677cebfe39e8c43d53efe63d118c0c7d7277ef /src/util/logger.ts
parentb614360c8a316e0933122ac1e3a631c0d0773a80 (diff)
downloadao-coverage-e499e3dc34d1e91cdad9276a7a168041479e6e64.tar.gz
ao-coverage-e499e3dc34d1e91cdad9276a7a168041479e6e64.tar.bz2
ao-coverage-e499e3dc34d1e91cdad9276a7a168041479e6e64.zip
Add winston, express-winston to handle logging
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 })]
+});