aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authornlaplante2012-11-29 00:40:27 -0500
committerVojta Jina2013-01-17 16:47:39 -0800
commit9e991ddb1de13adf520eda459950be5b90b5b6d9 (patch)
treeadc181628d00fe8a0fac5dce5bd498aebc14f371 /src
parent93070f14885801de7e264b04fdf4cb54b7dc7d9b (diff)
downloadangular.js-9e991ddb1de13adf520eda459950be5b90b5b6d9.tar.bz2
feat($log): add $log.debug()
New debug() method with suppressable output via $logProvider.debugEnabled() Closes #1592
Diffstat (limited to 'src')
-rw-r--r--src/ng/log.js46
1 files changed, 45 insertions, 1 deletions
diff --git a/src/ng/log.js b/src/ng/log.js
index 1b552da8..2a58d442 100644
--- a/src/ng/log.js
+++ b/src/ng/log.js
@@ -33,7 +33,33 @@
</example>
*/
+/**
+ * @ngdoc object
+ * @name ng.$logProvider
+ * @description
+ * Use the `$logProvider` to configure how the application logs messages
+ */
function $LogProvider(){
+ var debug = true,
+ self = this;
+
+ /**
+ * @ngdoc property
+ * @name ng.$logProvider#debugEnabled
+ * @methodOf ng.$logProvider
+ * @description
+ * @param {string=} flag enable or disable debug level messages
+ * @returns {*} current value if used as getter or itself (chaining) if used as setter
+ */
+ this.debugEnabled = function(flag) {
+ if (isDefined(flag)) {
+ debug = flag;
+ return this;
+ } else {
+ return debug;
+ }
+ };
+
this.$get = ['$window', function($window){
return {
/**
@@ -74,7 +100,25 @@ function $LogProvider(){
* @description
* Write an error message
*/
- error: consoleLog('error')
+ error: consoleLog('error'),
+
+ /**
+ * @ngdoc method
+ * @name ng.$log#debug
+ * @methodOf ng.$log
+ *
+ * @description
+ * Write a debug message
+ */
+ debug: (function () {
+ var fn = consoleLog('debug');
+
+ return function() {
+ if (debug) {
+ fn.apply(self, arguments);
+ }
+ }
+ }())
};
function formatError(arg) {