first lol

This commit is contained in:
legop3
2025-11-15 04:05:01 -05:00
parent 4d3bc09e2b
commit d64cfe2d46
42 changed files with 5011 additions and 880 deletions
+40
View File
@@ -0,0 +1,40 @@
const { v4: uuidv4 } = require('uuid');
const io = require('../globals/io');
const loggerRoot = require('../globals/logger');
const logger = loggerRoot.child('logStream');
const MAX_HISTORY = 200;
const history = [];
function pushEntry(entry) {
history.push(entry);
if (history.length > MAX_HISTORY) {
history.shift();
}
}
function broadcast(entry) {
io.emit('log:entry', entry);
}
function hydrateSocket(socket) {
if (!socket) return;
socket.emit('log:init', history);
}
loggerRoot.registerSink(({ level, label, message, timestamp }) => {
const entry = {
id: uuidv4(),
level,
label,
message,
timestamp,
};
pushEntry(entry);
broadcast(entry);
});
io.on('connection', (socket) => {
logger.info('Hydrating log history for', socket.id);
hydrateSocket(socket);
});