intlify / vue-i18n

Vue I18n for Vue 3
https://vue-i18n.intlify.dev/
MIT License
2.01k stars 320 forks source link

Allow custom warn implementation #1861

Open SpazzMarticus opened 1 month ago

SpazzMarticus commented 1 month ago

Clear and concise description of the problem

Currently all warning messages are passed to console.warn, preventing escalation to e.g. Sentry

Suggested solution

Allow users to provider a custom warning handler matching the signature of warn.

Alternative

Currently console.warn can be overridden using the [intlify] prefix as an discriminator:

const originalWarn = window.console.warn;
window.console.warn = (...args: any) => {
  if (
    args[0] &&
    typeof args[0] === 'string' &&
    args[0].startsWith('[intlify]')
  ) {
    customHandler(...args);
  }
  originalWarn(...args);
};

(Yikes!)

Additional context

No response

Validations