Me dieron una vieja aplicación Angular.js para mantener y he estado rastreando un error difícil de alcanzar que me hizo usar el servicio $log para mostrar una pista en la consola. Usé $log ya que el mismo IDE VSC me dice que usar console.log es una mala práctica. Bueno, console.log funciona y cuando uso $log.log o cualquier cosa derivada de $log, simplemente muestra: "TypeError: s is undefined", no lo que estaba tratando de mostrar. Ahora tengo mucha curiosidad, aunque puedo usar console.log muy bien, quiero saber qué está pasando en el mundo. Mi código:
import angular from "angular"; class StuffController{ constructor($scope,$window,usuarioService,userSession,$log,$document){ this.$scope=$scope; this.$log=$log; this.debug; this.debug = function(model){ try{ $log.log("this is a log for: " + model); $log.debug("this is a debug for: " + model); }catch(e){ console.log("This is a console log for: " + model +" "+ e); } } } } stuffController.$inject=["$scope","$window","usuarioService","userSession"]; angular.module("webapp").controller("StuffController",StuffController);
Cuando uso la función de depuración en cualquier cambio ng, obtengo esto en la consola: Este es un registro de la consola para: radio TypeError: s no está definido