-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathglobals.js
49 lines (42 loc) · 1.27 KB
/
globals.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const winston = require('winston');
// Get app version from package.json file
const appVersion = require('./package.json').version;
// Set up logger with timestamps and colors, and optional logging to disk file
const logTransports = [];
logTransports.push(
new winston.transports.Console({
name: 'console',
level: 'info',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.colorize(),
winston.format.simple(),
winston.format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
})
);
const logger = winston.createLogger({
transports: logTransports,
format: winston.format.combine(
winston.format.timestamp(),
winston.format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
});
/**
* Functions to get/set current console logging level
* @returns
*/
const getLoggingLevel = () => logTransports.find((transport) => transport.name === 'console').level;
/**
*
* @param {*} newLevel
*/
const setLoggingLevel = (newLevel) => {
logTransports.find((transport) => transport.name === 'console').level = newLevel;
};
module.exports = {
logger,
appVersion,
getLoggingLevel,
setLoggingLevel,
};