From 3cfb7e7dff174fc45256d9a798f80d210fd9eb5f Mon Sep 17 00:00:00 2001 From: Anton Roslund Date: Mon, 5 Jan 2026 15:58:27 +0100 Subject: [PATCH] Add logger utility for formated and timestamped console output --- src/admin.js | 1 + src/index.js | 1 + src/mqtt.js | 1 + src/utils/logger.js | 33 +++++++++++++++++++++++++++++++++ src/ws.js | 1 + 5 files changed, 37 insertions(+) create mode 100644 src/utils/logger.js diff --git a/src/admin.js b/src/admin.js index e9fbbef..5889908 100644 --- a/src/admin.js +++ b/src/admin.js @@ -1,6 +1,7 @@ // node src/admin.js --purge-node-id 123 // node src/admin.js --purge-node-id '!AABBCCDD' +require('./utils/logger'); const commandLineArgs = require("command-line-args"); const commandLineUsage = require("command-line-usage"); diff --git a/src/index.js b/src/index.js index 9d482c1..8d1eabe 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,4 @@ +require('./utils/logger'); const path = require('path'); const express = require('express'); const compression = require('compression'); diff --git a/src/mqtt.js b/src/mqtt.js index 18551e2..f0f65bd 100644 --- a/src/mqtt.js +++ b/src/mqtt.js @@ -1,3 +1,4 @@ +require('./utils/logger'); const crypto = require("crypto"); const path = require("path"); const mqtt = require("mqtt"); diff --git a/src/utils/logger.js b/src/utils/logger.js new file mode 100644 index 0000000..23315d6 --- /dev/null +++ b/src/utils/logger.js @@ -0,0 +1,33 @@ +// Override console methods to add formatted timestamps +const originalLog = console.log; +const originalError = console.error; +const originalWarn = console.warn; +const originalInfo = console.info; + +function formatTimestamp() { + const now = new Date(); + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, '0'); + const day = String(now.getDate()).padStart(2, '0'); + const hours = String(now.getHours()).padStart(2, '0'); + const minutes = String(now.getMinutes()).padStart(2, '0'); + const seconds = String(now.getSeconds()).padStart(2, '0'); + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; +} + +console.log = function(...args) { + originalLog(`${formatTimestamp()} [Info]`, ...args); +}; + +console.error = function(...args) { + originalError(`${formatTimestamp()} [Error]`, ...args); +}; + +console.warn = function(...args) { + originalWarn(`${formatTimestamp()} [Warn]`, ...args); +}; + +console.info = function(...args) { + originalInfo(`${formatTimestamp()} [Info]`, ...args); +}; + diff --git a/src/ws.js b/src/ws.js index 9160627..313cecf 100644 --- a/src/ws.js +++ b/src/ws.js @@ -1,3 +1,4 @@ +require('./utils/logger'); const crypto = require("crypto"); const path = require("path"); const http = require("http");