UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

42 lines (40 loc) 1.56 kB
/* * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0. * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2016-Present Datadog, Inc. */ import { SdkVerbosity } from './SdkVerbosity'; export const DATADOG_MESSAGE_PREFIX = 'DATADOG:'; /** * /!\ DO NOT USE THIS IN YOUR APP /!\\ * * This logger is only for debugging the Datadog SDK. */ export class InternalLog { static levelMap = new Map([[SdkVerbosity.DEBUG, 1], [SdkVerbosity.INFO, 2], [SdkVerbosity.WARN, 3], [SdkVerbosity.ERROR, 4]]); static verbosity = undefined; static log(message, verbosity) { if (InternalLog.verbosity === undefined) { return; } const requiredLevel = InternalLog.levelMap.get(verbosity); const allowedLevel = InternalLog.levelMap.get(InternalLog.verbosity); if (allowedLevel === undefined || requiredLevel === undefined) { return; } const prefixedMessage = `${DATADOG_MESSAGE_PREFIX} ${message}`; if (verbosity === SdkVerbosity.ERROR && requiredLevel >= allowedLevel) { console.error(prefixedMessage); } if (verbosity === SdkVerbosity.WARN && requiredLevel >= allowedLevel) { console.warn(prefixedMessage); } if (verbosity === SdkVerbosity.INFO && requiredLevel >= allowedLevel) { console.info(prefixedMessage); } if (verbosity === SdkVerbosity.DEBUG && requiredLevel >= allowedLevel) { console.debug(prefixedMessage); } } } //# sourceMappingURL=InternalLog.js.map