@itwin/presentation-hierarchies
Version:
A package for creating hierarchies based on data in iTwin.js iModels.
37 lines • 1.39 kB
JavaScript
;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.doLog = doLog;
exports.log = log;
const rxjs_1 = require("rxjs");
const Logging_js_1 = require("../Logging.js");
/** @internal */
function doLog(props) {
const logger = (0, Logging_js_1.getLogger)();
const severity = props.severity ?? "trace";
if (!logger.isEnabled(props.category, severity)) {
return;
}
const logFunc = getLogFunc(logger, severity);
logFunc(props.category, props.message());
}
function getLogFunc(logger, severity) {
switch (severity) {
case "error":
return logger.logError.bind(logger);
case "warning":
return logger.logWarning.bind(logger);
case "info":
return logger.logInfo.bind(logger);
case "trace":
return logger.logTrace.bind(logger);
}
}
/** @internal */
function log(props) {
return (0, rxjs_1.tap)((n) => doLog({ ...props, message: () => props.message(n) }));
}
//# sourceMappingURL=LoggingUtils.js.map