|
|
- var logLevel = "info";
-
- function dummy() {}
-
- function shouldLog(level) {
- var shouldLog =
- (logLevel === "info" && level === "info") ||
- (["info", "warning"].indexOf(logLevel) >= 0 && level === "warning") ||
- (["info", "warning", "error"].indexOf(logLevel) >= 0 && level === "error");
- return shouldLog;
- }
-
- function logGroup(logFn) {
- return function(level, msg) {
- if (shouldLog(level)) {
- logFn(msg);
- }
- };
- }
-
- module.exports = function(level, msg) {
- if (shouldLog(level)) {
- if (level === "info") {
- console.log(msg);
- } else if (level === "warning") {
- console.warn(msg);
- } else if (level === "error") {
- console.error(msg);
- }
- }
- };
-
- /* eslint-disable node/no-unsupported-features/node-builtins */
- var group = console.group || dummy;
- var groupCollapsed = console.groupCollapsed || dummy;
- var groupEnd = console.groupEnd || dummy;
- /* eslint-enable node/no-unsupported-features/node-builtins */
-
- module.exports.group = logGroup(group);
-
- module.exports.groupCollapsed = logGroup(groupCollapsed);
-
- module.exports.groupEnd = logGroup(groupEnd);
-
- module.exports.setLogLevel = function(level) {
- logLevel = level;
- };
-
- module.exports.formatError = function(err) {
- var message = err.message;
- var stack = err.stack;
- if (!stack) {
- return message;
- } else if (stack.indexOf(message) < 0) {
- return message + "\n" + stack;
- } else {
- return stack;
- }
- };
|