Über bei angular-logger, wir versuchen, $log
zu verbessern, aber wir möchten im Namen der Winkel Modul und Komponente ohne Änderungen arbeiten. Um dies zu tun, müssen wir die AngularJS bekommen Kontext zur Laufzeit, das heißt, die Modulnamen und Controller, Service oder Richtlinie Namen.Get Modul und Controller | Service | Direktive Namen zur Laufzeit
app.module("SampleModule").
controller("ControllerOne", function ($log) {
$log.debug("I am ready!")
}).
controller("ControllerTwo", function ($log) {
$log.debug("I am ready!")
});
Standard $log
Ausgang:
> I am ready!
> I am ready!
Wenn wir das Modul und Controller-Namen zur Laufzeit erhalten können, dann die erweiterte $log
verwenden, können wir reiche Ausgabe:
> SampleModule.ControllerOne: I am ready!
> SampleModule.ControllerTwo: I am ready!
Die beste Die Option besteht darin, es ohne Änderungen am Code des Controllers zu erhalten. Vielleicht gibt es eine Möglichkeit, einige Meta-Informationen über die Entitäten zu erhalten, die die $ log-Abhängigkeitsinjektion erhalten haben?
Irgendwelche Vorschläge?
können Sie eine Richtlinie ng-Controller erstellen, die für jeden Controller ausführen würde und analysieren den Inhalt ng-Controller als String zur Verfügung gestellt und stellen Sie es auf eine Variable in der Partitur .. und dann diese Variable verwenden Controller drucken Name – harishr
Winkel führt alle Anweisungen, wenn mehrere Direktiven mit demselben Namen gefunden – harishr