В angular-logger мы пытаемся улучшить $log
, но мы хотели бы работать от имени модуля и компонента angular без изменения. Для этого нам нужно получить контекст AngularJS во время выполнения, то есть имя модуля и имя контроллера, службы или директивы.
app.module("SampleModule").
controller("ControllerOne", function ($log) {
$log.debug("I am ready!")
}).
controller("ControllerTwo", function ($log) {
$log.debug("I am ready!")
});
Значение по умолчанию $log
:
> I am ready!
> I am ready!
Если мы получим имя модуля и контроллера во время выполнения, то с помощью расширенного $log
мы можем получить более богатый результат:
> SampleModule.ControllerOne: I am ready!
> SampleModule.ControllerTwo: I am ready!
Лучшим вариантом будет его получение без изменений в коде контроллера. Возможно, есть способ получить некоторую метаинформацию об объектах, которые получили инъекцию зависимости $log?
Любые предложения?