Advertisement
Guest User

Untitled

a guest
Oct 13th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. type loggerLevel = 'info' | 'error' | 'warn' | 'debug';
  2.  
  3. const log = (message: string, level: loggerLevel = 'info') => {
  4. console.log(`${new Date().toLocaleString()} [${level}] ${message}`)
  5. }
  6.  
  7. /**
  8. * Create Logger with stopwatch
  9. * @param label - stopwatch logger label
  10. * @returns - logger wrapper with stopwatch feature
  11. */
  12. export const stopwatchLoggerFactory = function createLoggerWithStopwatch(label: string) {
  13. const startTime = new Date().getTime();
  14. let prevTime = startTime;
  15.  
  16. log(`Initialize stopwatch ${label}`)
  17.  
  18. return (message: string, level: loggerLevel = 'info') => {
  19. const currentTime = new Date().getTime();
  20. const fromStart = currentTime - startTime;
  21. const fromPrev = currentTime - prevTime;
  22. const resultMessage = `${msToPrettyTime(fromPrev)} [${label}] ${message} (${msToPrettyTime(fromStart)})`;
  23. log(resultMessage, level);
  24. prevTime = currentTime;
  25. };
  26. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement