You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

functions.ts 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // @ts-ignore
  2. import Logger, { getLogger as _getLogger } from '@jitsi/logger';
  3. import _ from 'lodash';
  4. // @ts-ignore
  5. import LogTransport from './LogTransport';
  6. /**
  7. * Options for building the logger. We disable the callee info on RN because it's
  8. * almost always empty anyway.
  9. */
  10. const DEFAULT_OPTS = {};
  11. const DEFAULT_RN_OPTS = { disableCallerInfo: true };
  12. /**
  13. * Gets a logger for the given id.
  14. *
  15. * @param {string} id - Name for the logger.
  16. * @returns {Object} - The logger object.
  17. */
  18. export function getLogger(id: string) {
  19. const opts = navigator.product === 'ReactNative' ? DEFAULT_RN_OPTS : DEFAULT_OPTS;
  20. return _getLogger(id, undefined, opts);
  21. }
  22. /**
  23. * Initializes native logging. This operations must be done as early as possible.
  24. */
  25. export const _initLogging = _.once(() => {
  26. if (navigator.product !== 'ReactNative') {
  27. return;
  28. }
  29. // Lazy load it to avoid cycles in early web bootstrap code.
  30. // eslint-disable-next-line @typescript-eslint/no-var-requires
  31. const { default: JitsiMeetJS } = require('../lib-jitsi-meet/_');
  32. Logger.setGlobalOptions(DEFAULT_RN_OPTS);
  33. JitsiMeetJS.setGlobalLogOptions(DEFAULT_RN_OPTS);
  34. Logger.removeGlobalTransport(console);
  35. JitsiMeetJS.removeGlobalLogTransport(console);
  36. Logger.addGlobalTransport(LogTransport);
  37. JitsiMeetJS.addGlobalLogTransport(LogTransport);
  38. });