Comment activer/désactiver le journal de$.debug dans AngularJS
Je suis en train d'utiliser $log.debug("Foo"). Comment peut-il être tourné sur off. Je ne peux pas trouver un exemple de n'importe où. Je pense qu'il a besoin d'être mis dans la config, mais je ne peux pas sembler obtenir que le travail soit.
Où peut-on définir la sur et off?
Vous devez vous connecter pour publier un commentaire.
$logProvider.debugEnabled(vrai)
Ceci est uniquement disponible en AngularJs 1.1.2 ou plus tard.
https://github.com/angular/angular.js/pull/1625
Voici un exemple d'ensemble.
http://plnkr.co/edit/HZCAoS?p=preview
Par défaut c'est sur.
config
bloc.$logProvider.debugEnabled(false);
il suffit de désactiver les.debug()
méthode, laissant.log(), .info(), etc
activé?$log.debug
. Ne devrait-il pas être une option dans le fournisseur, qui permettrait de désactiver tous les$log
sortie de service. Ou permettent de préciser ce à laisser. Maintenant, ce serait utile. Sûr que je pourrais écrire mon propre service wrapper pour$log
service et de le gérer à partir de là..en quelque sorte, mais encore ce qui est le point dans cette option-là?TEST Log
ne se présente jamais. n'a quelque chose à changer? MODIFIER mon mauvais, chrome "Verbose" a été désactivéVous pouvez remplacer la valeur par défaut $journal de comportement avec un décorateur pour améliorer le niveau de log. Ceci est un exemple:
Cela a été inspirée de l'œuvre de John Crosby au http://www.thekuroko.com/using-angulars-log-provider/
Que j'ai rencontré le même problème mais ce n'est pas un problème à résoudre par le codage de la place juste à l'activer à partir du navigateur de la console
Allez à la console du navigateur et de jeu de niveau pour les commentaires
$log.debug
messages dans google Chrome.Basé sur Diego réponse, mais en ajoutant quelques env config et de le rendre plus court.
Vous pouvez simplement exécuter votre application à l'aide de:
NODE_ENV=development
ouNODE_ENV=production
E. g.1.
NODE_ENV=development webpack-dev-server
E. g.2.
NODE_ENV=production node app.js
Bien, Car la solution oblige à faire sur
Verbose
drapeau, je pense que la meilleure façon de gérer les logs dans angulaire serait tout simplement de modifier le natifconsole.log
de la fonction en Environnement de Production pour l'ensemble de l'application.Que c'est. En environnement de production, ce qui devrait désactiver la journalisation partout. Aussi il n'est pas nécessaire d'injecter
$log
dans chaque contrôleur maintenant.Simplement
console.log("logging message")
fonctionne!Vous pouvez également désactiver
console.info
,console.warn
,console.error
etconsole.debug
de la même manière selon votre besoin.