AngularJS has a great hidden feature $provider.decorator() that allows developers to intercept services and substitute, monitor, or modify features of those intercepted services. This features is not deliberately hidden… rather it is masked by so many other great AngularJS features.
AngularJS has a built-in service $log that is very useful for logging debug and error messages to a console. Using this injected service, developers can easily monitor application workflows, confirm call sequences, etc. And since it is such a common useful mechanism, developers often complain about wanting more features.
Via Jan Hesse