我试图使用$ log.debug(“富”)。 它如何可以打开关闭。 我找不到任何地方的样本。 我认为它需要在config来设定,但我似乎无法得到这工作的。
究竟应该怎样设置开启和关闭?
我试图使用$ log.debug(“富”)。 它如何可以打开关闭。 我找不到任何地方的样本。 我认为它需要在config来设定,但我似乎无法得到这工作的。
究竟应该怎样设置开启和关闭?
$ logProvider.debugEnabled(真)
这只是AngularJs 1.1.2或更高版本可用。
https://github.com/angular/angular.js/pull/1625
下面是它被设置的一个例子。
var app = angular.module('plunker', []);
app.config(function($logProvider){
$logProvider.debugEnabled(true);
});
app.controller('MainCtrl', function($scope, $log ) {
$scope.name = 'World';
$scope.model = {value: "test"};
$log.debug('TEST Log');
});
http://plnkr.co/edit/HZCAoS?p=preview
默认情况下,它是。
您可以覆盖默认$日志行为与装饰,以enhace日志级别。 这是一个例子:
angular.module('app').config(function($logProvider, $provide){
$logProvider.debugEnabled(false);
$provide.decorator('$log', function ($delegate) {
//Original methods
var origInfo = $delegate.info;
var origLog = $delegate.log;
//Override the default behavior
$delegate.info = function () {
if ($logProvider.debugEnabled())
origInfo.apply(null, arguments)
};
//Override the default behavior
$delegate.log = function () {
if ($logProvider.debugEnabled())
origLog.apply(null, arguments)
};
return $delegate;
});
});
这是从约翰·克罗斯比的工作在启发http://www.thekuroko.com/using-angulars-log-provider/
我曾经面临同样的问题,但它不是通过编码,而不是从浏览器控制台只是使它可以解决的问题
往浏览器的控制台,并设置级别为verbose
基于迭戈的回应,但增加了一些配置包膜,使之短。 您可以通过简单地运行你的应用程序: NODE_ENV=development
或NODE_ENV=production
[点拨。 NODE_ENV=development webpack-dev-server
EG2。 NODE_ENV=production node app.js
$logProvider.debugEnabled(process.env.NODE_ENV === 'development');
$provide.decorator('$log', function($delegate) {
$delegate.info = $logProvider.debugEnabled() ? $delegate.info : function() {};
$delegate.log = $logProvider.debugEnabled() ? $delegate.log : function() {};
return $delegate;
});
那么,由于该解决方案需要我们开启Verbose
的标志,我觉得来处理的角度记录的最好方法是简单地改变了天然console.log
在生产环境功能为整个应用程序。
angular.module("myModule")
.config(function(){
//if production environment
console.log = ()=>{};
})
而已。 在生产环境中,这应该处处禁用日志记录。 也没有必要注入$log
现在在每一个控制器。 简单console.log("logging message")
的作品!
您还可以禁用console.info
, console.warn
, console.error
和console.debug
的方式根据自己的需要一样。