auditjs
Version:
Audit dependencies to identify known vulnerabilities and maintenance problems
87 lines • 2.83 kB
JavaScript
;
/*
* Copyright 2019-Present Sonatype Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.shutDownLoggerAndExit = exports.logMessage = exports.createAppLogger = exports.ERROR = exports.DEBUG = void 0;
const log4js_1 = require("log4js");
const os_1 = require("os");
const fs_1 = require("fs");
const path_1 = require("path");
exports.DEBUG = 'debug';
exports.ERROR = 'error';
const logPath = (0, path_1.join)((0, os_1.homedir)(), '.ossindex');
const logPathFile = (0, path_1.join)(logPath, '.auditjs.combined.log');
(0, log4js_1.addLayout)('json', function (config) {
return function (logEvent) {
return JSON.stringify(logEvent) + config.separator;
};
});
(0, log4js_1.configure)({
appenders: {
auditjs: {
type: 'file',
maxLogSize: 2 * 1024 * 1024,
layout: {
type: 'json',
separator: ',',
},
filename: logPathFile,
},
out: { type: 'stdout' },
errors: { type: 'logLevelFilter', appender: 'out', level: 'error', maxLevel: 'error' },
},
categories: {
default: {
appenders: ['errors', 'auditjs'],
level: 'error',
},
},
});
const logger = (0, log4js_1.getLogger)('auditjs');
logger.level = exports.DEBUG;
const createAppLogger = () => {
if (!(0, fs_1.existsSync)(logPath)) {
(0, fs_1.mkdirSync)(logPath);
}
};
exports.createAppLogger = createAppLogger;
const cleanupStack = (message) => {
return message.replace(/^(Error: )+/, 'Error: ');
};
const logMessage = (message, level, ...meta) => {
if (level == exports.DEBUG) {
logger.debug(message, ...meta);
}
else if (level == exports.ERROR) {
if (meta && meta[0] && meta[0].stack) {
logger.error(message, cleanupStack(meta[0].stack));
}
else {
logger.error(message, ...meta);
}
}
};
exports.logMessage = logMessage;
const shutDownLoggerAndExit = (code) => {
(0, log4js_1.shutdown)((err) => {
if (err) {
console.error(err);
}
process.exitCode = code;
});
};
exports.shutDownLoggerAndExit = shutDownLoggerAndExit;
//# sourceMappingURL=Logger.js.map