mirror of
https://github.com/glenndehaan/unifi-voucher-site.git
synced 2026-03-31 06:24:00 -04:00
63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
/**
|
|
* Import base packages
|
|
*/
|
|
const log = require('js-logger');
|
|
|
|
/**
|
|
* Import own modules
|
|
*/
|
|
const variables = require('./variables');
|
|
|
|
/**
|
|
* Setup logger
|
|
*/
|
|
const consoleLogger = log.createDefaultHandler({
|
|
formatter: (messages, context) => {
|
|
// Get current date, change this to the current timezone, then generate a date-time string
|
|
const utcDate = new Date();
|
|
const offset = utcDate.getTimezoneOffset();
|
|
const date = new Date(utcDate.getTime() - (offset * 60 * 1000));
|
|
const dateTimeString = date.toISOString().replace('T', ' ').replace('Z', '');
|
|
|
|
// Prefix each log message with a timestamp and log level
|
|
messages.unshift(`${dateTimeString} ${context.level.name}${context.level.name === 'INFO' || context.level.name === 'WARN' ? ' ' : ''}`);
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Log Level converter
|
|
*/
|
|
const logConvert = (level) => {
|
|
switch(level) {
|
|
case "error":
|
|
return log.ERROR;
|
|
case "warn":
|
|
return log.WARN;
|
|
case "info":
|
|
return log.INFO;
|
|
case "debug":
|
|
return log.DEBUG;
|
|
case "trace":
|
|
return log.TRACE;
|
|
default:
|
|
return log.INFO;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Set all logger handlers
|
|
*/
|
|
log.setHandler((messages, context) => {
|
|
consoleLogger(messages, context);
|
|
});
|
|
|
|
/**
|
|
* Set log level
|
|
*/
|
|
log.setLevel(logConvert(variables.logLevel));
|
|
|
|
/**
|
|
* Export the application logger
|
|
*/
|
|
module.exports = log;
|