|
"use strict"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _a, _b, _c, _d; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
exports.log = exports.setLoggerVerbosity = exports.setLogger = exports.getLogger = void 0; |
|
exports.trace = trace; |
|
exports.isTracerEnabled = isTracerEnabled; |
|
const constants_1 = require("./constants"); |
|
const process_1 = require("process"); |
|
const clientVersion = require('../../package.json').version; |
|
const DEFAULT_LOGGER = { |
|
error: (message, ...optionalParams) => { |
|
console.error('E ' + message, ...optionalParams); |
|
}, |
|
info: (message, ...optionalParams) => { |
|
console.error('I ' + message, ...optionalParams); |
|
}, |
|
debug: (message, ...optionalParams) => { |
|
console.error('D ' + message, ...optionalParams); |
|
}, |
|
}; |
|
let _logger = DEFAULT_LOGGER; |
|
let _logVerbosity = constants_1.LogVerbosity.ERROR; |
|
const verbosityString = (_b = (_a = process.env.GRPC_NODE_VERBOSITY) !== null && _a !== void 0 ? _a : process.env.GRPC_VERBOSITY) !== null && _b !== void 0 ? _b : ''; |
|
switch (verbosityString.toUpperCase()) { |
|
case 'DEBUG': |
|
_logVerbosity = constants_1.LogVerbosity.DEBUG; |
|
break; |
|
case 'INFO': |
|
_logVerbosity = constants_1.LogVerbosity.INFO; |
|
break; |
|
case 'ERROR': |
|
_logVerbosity = constants_1.LogVerbosity.ERROR; |
|
break; |
|
case 'NONE': |
|
_logVerbosity = constants_1.LogVerbosity.NONE; |
|
break; |
|
default: |
|
|
|
} |
|
const getLogger = () => { |
|
return _logger; |
|
}; |
|
exports.getLogger = getLogger; |
|
const setLogger = (logger) => { |
|
_logger = logger; |
|
}; |
|
exports.setLogger = setLogger; |
|
const setLoggerVerbosity = (verbosity) => { |
|
_logVerbosity = verbosity; |
|
}; |
|
exports.setLoggerVerbosity = setLoggerVerbosity; |
|
|
|
const log = (severity, ...args) => { |
|
let logFunction; |
|
if (severity >= _logVerbosity) { |
|
switch (severity) { |
|
case constants_1.LogVerbosity.DEBUG: |
|
logFunction = _logger.debug; |
|
break; |
|
case constants_1.LogVerbosity.INFO: |
|
logFunction = _logger.info; |
|
break; |
|
case constants_1.LogVerbosity.ERROR: |
|
logFunction = _logger.error; |
|
break; |
|
} |
|
|
|
|
|
if (!logFunction) { |
|
logFunction = _logger.error; |
|
} |
|
if (logFunction) { |
|
logFunction.bind(_logger)(...args); |
|
} |
|
} |
|
}; |
|
exports.log = log; |
|
const tracersString = (_d = (_c = process.env.GRPC_NODE_TRACE) !== null && _c !== void 0 ? _c : process.env.GRPC_TRACE) !== null && _d !== void 0 ? _d : ''; |
|
const enabledTracers = new Set(); |
|
const disabledTracers = new Set(); |
|
for (const tracerName of tracersString.split(',')) { |
|
if (tracerName.startsWith('-')) { |
|
disabledTracers.add(tracerName.substring(1)); |
|
} |
|
else { |
|
enabledTracers.add(tracerName); |
|
} |
|
} |
|
const allEnabled = enabledTracers.has('all'); |
|
function trace(severity, tracer, text) { |
|
if (isTracerEnabled(tracer)) { |
|
(0, exports.log)(severity, new Date().toISOString() + |
|
' | v' + |
|
clientVersion + |
|
' ' + |
|
process_1.pid + |
|
' | ' + |
|
tracer + |
|
' | ' + |
|
text); |
|
} |
|
} |
|
function isTracerEnabled(tracer) { |
|
return (!disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer))); |
|
} |
|
|