1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // @flow
-
- import Logger, { getLogger as _getLogger } from 'jitsi-meet-logger';
- import _ from 'lodash';
-
- import LogTransport from './LogTransport';
-
- /**
- * Options for building the logger. We disable the callee info on RN because it's
- * almost always empty anyway.
- */
- const DEFAULT_OPTS = {};
- const DEFAULT_RN_OPTS = { disableCallerInfo: true };
-
- /**
- * Gets a logger for the given id.
- *
- * @param {string} id - Name for the logger.
- * @returns {Object} - The logger object.
- */
- export function getLogger(id: string) {
- const opts = navigator.product === 'ReactNative' ? DEFAULT_RN_OPTS : DEFAULT_OPTS;
-
- return _getLogger(id, undefined, opts);
- }
-
- /**
- * Initializes native logging. This operations must be done as early as possible.
- */
- export const _initLogging = _.once(() => {
- if (navigator.product !== 'ReactNative') {
- return;
- }
-
- // Lazy load it to avoid cycles in early web bootstrap code.
- const { default: JitsiMeetJS } = require('../lib-jitsi-meet/_');
-
- Logger.setGlobalOptions(DEFAULT_RN_OPTS);
- JitsiMeetJS.setGlobalLogOptions(DEFAULT_RN_OPTS);
- Logger.removeGlobalTransport(console);
- JitsiMeetJS.removeGlobalLogTransport(console);
- Logger.addGlobalTransport(LogTransport);
- JitsiMeetJS.addGlobalLogTransport(LogTransport);
- });
|