Angular无法禁用$ log

时间:2017-03-23 16:33:22

标签: angularjs logging

我使用angular with angular-permission库。需要在控制台中禁用警告。

angular logFn

此组件(angular-permission)调用angular $ log服务: angular-permission

尝试在配置中禁用此功能,但警告仍会显示:

  

$ logProvider.debugEnabled(假);

调用日志的代码:

function permissionMap($log) {
  if (PermPermissionStore.hasPermissionDefinition(privilegeName)) {
    PermPermissionStore.getPermissionDefinition(privilegeName);
      return permission.validatePermission();
    }

    $log.warn('Permission or role ' + privilegeName + ' was not defined.');
}

4 个答案:

答案 0 :(得分:2)

使用Angularjs Decorators修改此{/ 1}}

$log.warn

要在生产中禁用警告,请在此配置中使用此代码

$provide.decorator('$log', ['$delegate', function($delegate) {              
  $delegate.warn = angular.noop;
  return $delegate;
}]);

希望这会有所帮助:)

答案 1 :(得分:0)

重新定义javascript中的console.log函数。

console.log = function() {}

答案 2 :(得分:0)

我找到了解决方案(重写默认的$ log.warn函数):

  

$ log.warn = function(){};

答案 3 :(得分:0)

angular-permission documentation开始,这是正确的方法:

  app
  .config(function ($permissionProvider) {
    $permissionProvider.suppressUndefinedPermissionWarning(true);
  })