@itwin/presentation-hierarchies
Version:
A package for creating hierarchies based on data in iTwin.js iModels.
33 lines • 1.24 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
import { tap } from "rxjs";
import { getLogger } from "../Logging.js";
/** @internal */
export function doLog(props) {
const logger = 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 */
export function log(props) {
return tap((n) => doLog({ ...props, message: () => props.message(n) }));
}
//# sourceMappingURL=LoggingUtils.js.map