@snap/camera-kit
Version:
Camera Kit Web
27 lines • 1.34 kB
JavaScript
import { filter } from "rxjs";
import { stringifyError } from "../common/errorHelpers";
import { configurationToken } from "../configuration";
import { Injectable } from "../dependency-injection/Injectable";
import { getPlatformInfo } from "../platform/platformInfo";
import { logEntriesFactory } from "./logEntries";
import { logLevelMap } from "./logger";
export const registerLogEntriesSubscriber = Injectable("registerLogEntriesSubscriber", [configurationToken, logEntriesFactory.token], (configuration, logEntries) => {
logEntries
.pipe(filter((entry) => logLevelMap[entry.level] >= logLevelMap[configuration.logLevel]))
.subscribe((logEntry) => {
switch (configuration.logger) {
case "console":
const messages = getPlatformInfo().browser.brand === "Chrome"
? logEntry.messages.map((message) => {
if (!(message instanceof Error))
return message;
message.stack = stringifyError(message);
return message;
})
: logEntry.messages;
console[logEntry.level](`[CameraKit.${logEntry.module}]`, ...messages);
break;
}
});
});
//# sourceMappingURL=registerLogEntriesSubscriber.js.map