首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在AngularJS中打开/关闭$log.debug

如何在AngularJS中打开/关闭$log.debug
EN

Stack Overflow用户
提问于 2013-03-22 10:44:33
回答 5查看 57.6K关注 0票数 77

我正在尝试使用$log.debug("Foo")。它怎么能被打开和关闭。我到处都找不到样本。我认为它需要在配置中设置,但我似乎也不能让它工作。

在哪里设置开关?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-23 09:08:56

$logProvider.debugEnabled(true)

这只在AngularJs 1.1.2或更高版本中可用。

https://github.com/angular/angular.js/pull/1625

下面是一个设置它的示例。

代码语言:javascript
复制
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

默认情况下,该选项处于启用状态。

票数 137
EN

Stack Overflow用户

发布于 2015-09-11 00:23:45

您可以使用装饰器覆盖默认的$log行为,以增强日志级别。这是一个示例:

代码语言:javascript
复制
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/的John Crosby的工作中获得的灵感

票数 14
EN

Stack Overflow用户

发布于 2017-06-28 23:24:04

我也遇到过同样的问题,但这不是通过编码就能解决的问题,只需从浏览器控制台启用它即可

转到浏览器的控制台,将级别设置为详细

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15561853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档