49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
// Import modules
|
|
const path = require('path')
|
|
const { createLogger, format, transports } = require('winston');
|
|
const { combine, timestamp, label, printf } = format;
|
|
|
|
const myFormat = printf(({ level, message, label, timestamp }) => {
|
|
return `${timestamp} [${label}] ${level}: ${message}`;
|
|
});
|
|
|
|
|
|
// logger.error("hello world!, this is error 0");
|
|
// logger.warn("hello world!, this is warn 1");
|
|
// logger.info("hello world!, this is info 2");
|
|
// logger.verbose("hello world!, this is verbose 3");
|
|
// logger.debug("hello world!, this is debug 4");
|
|
// logger.silly("hello world!, this is silly 5");
|
|
|
|
let rootPath
|
|
if ( process.pkg ) {
|
|
// PKG process
|
|
rootPath = path.resolve(process.execPath + '/..');
|
|
} else {
|
|
// NODE process
|
|
rootPath = process.cwd();
|
|
}
|
|
|
|
let LOGLEVEL = config.general.loglevel || 'debug';
|
|
let LOGFOLDER = config.general.logfolder || rootPath + '/LOG';
|
|
var logFile = path.resolve(LOGFOLDER, 'access.log');
|
|
|
|
const logger = createLogger({
|
|
format: combine(
|
|
label({ label: 'WebCG' }),
|
|
timestamp(),
|
|
myFormat
|
|
),
|
|
transports: [
|
|
new transports.Console({
|
|
level: LOGLEVEL
|
|
}),
|
|
new transports.File({
|
|
level: LOGLEVEL,
|
|
filename: logFile
|
|
})
|
|
]
|
|
});
|
|
|
|
// Export the logger
|
|
module.exports = logger; |