29 lines
856 B
JavaScript
29 lines
856 B
JavaScript
import { Meteor } from 'meteor/meteor';
|
|
import { OHIF } from 'meteor/ohif:core';
|
|
import loglevel from 'loglevel';
|
|
|
|
const defaultLevel = Meteor.isProduction ? 'ERROR' : 'TRACE';
|
|
|
|
// Create package logger using loglevel
|
|
OHIF.log = loglevel.getLogger('OHIF');
|
|
OHIF.log.setLevel(defaultLevel);
|
|
|
|
// Add time and timeEnd to OHIF.log namespace
|
|
const times = new Map();
|
|
|
|
// Register the time method
|
|
OHIF.log.time = givenKey => {
|
|
const key = typeof givenKey === 'undefined' ? 'default' : givenKey;
|
|
times.set(key, new Date().getTime());
|
|
};
|
|
|
|
// Register the timeEnd method
|
|
OHIF.log.timeEnd = givenKey => {
|
|
const key = typeof givenKey === 'undefined' ? 'default' : givenKey;
|
|
const now = new Date().getTime();
|
|
const last = times.get(key) || now;
|
|
times.delete(key);
|
|
const duration = now - last;
|
|
OHIF.log.info(`${key}: ${duration}ms`);
|
|
};
|