Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type loggerLevel = 'info' | 'error' | 'warn' | 'debug';
- const log = (message: string, level: loggerLevel = 'info') => {
- console.log(`${new Date().toLocaleString()} [${level}] ${message}`)
- }
- /**
- * Create Logger with stopwatch
- * @param label - stopwatch logger label
- * @returns - logger wrapper with stopwatch feature
- */
- export const stopwatchLoggerFactory = function createLoggerWithStopwatch(label: string) {
- const startTime = new Date().getTime();
- let prevTime = startTime;
- log(`Initialize stopwatch ${label}`)
- return (message: string, level: loggerLevel = 'info') => {
- const currentTime = new Date().getTime();
- const fromStart = currentTime - startTime;
- const fromPrev = currentTime - prevTime;
- const resultMessage = `${msToPrettyTime(fromPrev)} [${label}] ${message} (${msToPrettyTime(fromStart)})`;
- log(resultMessage, level);
- prevTime = currentTime;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement