2016-10-25 7 views
0

私は$logProviderと混乱しています... 私はログメッセージを無効にしましたが、まだログを取得しています。

このコードで何が間違っているのを助けることができますか?

angular 
 
    .module("myModule", []).config(function ($logProvider) { 
 
     $logProvider.debugEnabled(false); 
 
    }) 
 
    .controller("myController", ['$scope','$log', function ($scope, $log) { 
 
     $log.debug("This is sample text"); 
 
     $log.warn("This is sample text"); 
 
     $log.error("This is sample text"); 
 
     $log.info("This is sample text"); 
 
    }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="myModule" > 
 
    <div ng-controller="myController"> 
 

 
    </div> 
 
</body>

+0

もしあなたが助けてくれたら、よろしくお願いしますあなたは答えの一つを受け入れますか? :) – Mistalis

答えて

1

$logProvider.debugEnabled(false);のみそれでも$log.warn$log.error$log.infoを使用することができる理由ですデバッグレベル$logを、無効にします。

詳細hereについて


あなたが完全に$logをオフにしたい場合は、このlinkとコードの特にこの部分をチェックしてください。

$logProvider.debugEnabled(true); 

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

デコレータは何をしていますか? – 42HacK

+0

$代理人もですか? – 42HacK

+0

'decorator'は実装をオーバーライドするために使用されます。デコレータの仕組みをよく説明している[このリンク](https://docs.angularjs.org/guide/decorators)をチェックしてください。 – Mistalis

0

希望、これはあなたを助けます...

angular.module("myModule", []) 
 
    .config(['$provide', 
 
     function($provide) { 
 
     $provide.decorator('$log', ['$delegate', 
 
      function($delegate) { 
 
      var origDebug = $delegate.debug; 
 

 
      $delegate.debug = function() { 
 
       var args = [].slice.call(arguments); 
 
       args[0] = [new Date().toString(), ': ', args[0]].join(''); 
 
       origDebug.apply(null, args) 
 
      }; 
 

 
      return $delegate; 
 
      } 
 
     ]); 
 
     } 
 
    ]) 
 

 
    .controller("myController", ['$scope', '$log', 
 
    function($scope, $log) { 
 
     $log.debug("This is sample text"); 
 
     $log.warn("This is sample text"); 
 
     $log.error("This is sample text"); 
 
     $log.info("This is sample text"); 
 
    } 
 
    ]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.min.js"></script> 
 
<div ng-app="myModule"> 
 
    <div ng-controller="myController"> 
 

 
    </div> 
 

 
</div>

関連する問題