debt-collector
Version:
a nodejs tool to identify, track and mesure technical debt
34 lines (33 loc) • 1.07 kB
JavaScript
import { useState } from 'react';
const formatTimestamp = (date) => {
return date?.toISOString()?.split('T')[1]?.slice(0, -1) ?? '';
};
const generateId = () => Math.random().toString(36).substring(2, 9);
export const useDevLogger = () => {
const [logs, setLogs] = useState([]);
const addLog = (level, message, data) => {
if (process.env['NODE_ENV'] !== 'development') {
return;
}
const timestamp = formatTimestamp(new Date());
const newLog = {
id: generateId(),
level,
message,
timestamp,
data: data,
};
setLogs((prevLogs) => [...prevLogs, newLog]);
};
const clearLogs = () => {
setLogs([]);
};
return {
logs,
info: (message, data) => addLog('info', message, data),
warn: (message, data) => addLog('warn', message, data),
error: (message, data) => addLog('error', message, data),
debug: (message, data) => addLog('debug', message, data),
clear: clearLogs
};
};