Angular $ log.debug () not showing up on Chrome console

My Chrome browser recently stopped showing $log.debug()messagens on the console. I used this logging method with angular instead console.log()for all my controllers because it is easy to disable logging when I upload my scripts to production servers.

I already checked the configuration $logProviderand debugEnabled()installed on true.

For some reason, the only way to display messages $log.debug()on chrome is to enable messages verboseon the console filter. Until recently, this was optional. Inclusion of details is not very pleasant, as the console splashes out many other messages that I do not need.

I am currently using Chrome v60.0.3112.101 64 bit on a computer running Windows 7. Is this related to the browser version? Can I do something to make it display messages again without verbose mode?

Ps .: Firefox continues to show everything as always.

+4
source share
1 answer

console.debugLog level is not compatible between versions of Chrome / Chromium. The console interface has been changed in Chrome 58 . A detailed level is currently console.debugrequired .

If other console entries are undesirable at this log level, the console settings can be changed to For user messages only :

console.debug

, console :

console.debug = console.log;

, AngularJS $log console, $log.debug debugEnabled, $log.log, AngularJS:

app
.config(['$provide', '$logProvider', ($provide, $logProvider) => {
  // expose a provider to reach debugEnabled in $log
  $provide.value('$logProvider', $logProvider);
})
.decorator('$log', ['$logProvider', '$delegate', ($logProvider, $delegate) => {
  // override $log.debug
  $delegate.debug = function () {
    if (!$logProvider.debugEnabled())
      return;
    $delegate.log.apply($delegate, arguments);
  });

  return $delegate;
});
+6

Source: https://habr.com/ru/post/1683776/


All Articles