Ik begrijp dat het een goede gewoonte is om $log
te gebruiken in plaats van console.log
.
Ik kan echter geen goede documentatie vinden waarin de redenen worden uitgelegd. Waarom zou een ontwikkelaar $log
gebruiken?
Antwoord 1, autoriteit 100%
$log
controleert eerst of de browser console.log
ondersteunt (IE 8 bijvoorbeeld niet). Dit voorkomt dat fouten worden weergegeven op IE 8. Let op: dit betekent niet dat het iets op IE 8 zal loggen, het betekent gewoon dat het de fout niet zal genereren.
Daarnaast kun je versierenen spotten met $log
voor uitbreidings- en testdoeleinden, als u daartoe geneigd bent. Je zou het bijvoorbeeld kunnen versieren om in te loggen op een array voor IE 8-ondersteuning.
Een bonusfunctie: als je het een JavaScript Error
-instantie doorgeeft, zal het proberen het netjes te formatteren. Dit kan worden gevonden door de broncode.
EDIT:“Het is niet zo dat IE 8 console.log niet ondersteunt. Het maakt alleen het console-object pas aan als de dev-tools zijn geopend.” Zie opmerkingen hieronder voor meer details.
Antwoord 2, autoriteit 12%
Om @Steve’s antwoord(wat correct is) in te vullen, $log
heeft ook het voordeel dat het uitgeschakeldis. Met behulp van deze code kunt u de logboekregistratie uitschakelen van $log
:
app.config(function($logProvider) {
$logProvider.debugEnabled(true);
});
Dit is erg handig als u alle logboeken in één keer wilt uitschakelen, in plaats van ze regel voor regel handmatig te verwijderen.