react-native-firebase-compiled
Version:
A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto
40 lines (33 loc) • 1.02 kB
JavaScript
import INTERNALS from './internals';
const NATIVE_LOGGERS = {};
const getModuleKey = module => `${module.app.name}:${module.namespace}`;
export const getLogger = module => {
const key = getModuleKey(module);
return NATIVE_LOGGERS[key];
};
export const LEVELS = {
debug: 0,
info: 1,
warn: 2,
error: 3
};
export const initialiseLogger = (module, logNamespace) => {
const key = getModuleKey(module);
if (!NATIVE_LOGGERS[key]) {
const prefix = `🔥 ${logNamespace.toUpperCase()}`;
NATIVE_LOGGERS[key] = {
debug(...args) {
if (__DEV__ && LEVELS.debug >= LEVELS[INTERNALS.OPTIONS.logLevel]) console.log(...[prefix, ...args]);
},
info(...args) {
if (__DEV__ && LEVELS.info >= LEVELS[INTERNALS.OPTIONS.logLevel]) console.log(...[prefix, ...args]);
},
warn(...args) {
if (__DEV__ && LEVELS.warn >= LEVELS[INTERNALS.OPTIONS.logLevel]) console.warn(...args);
},
error(...args) {
console.error(...args);
}
};
}
};