Skip to content

Instantly share code, notes, and snippets.

@bitsprint
Created May 23, 2013 08:33
Show Gist options
  • Select an option

  • Save bitsprint/5633528 to your computer and use it in GitHub Desktop.

Select an option

Save bitsprint/5633528 to your computer and use it in GitHub Desktop.
Base Logger
var App = App || {};
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
define([
App
], factory);
} else {
// Browser globals:
factory(App || {});
}
}(function (App) {
'use strict';
App.Logger = function (options) {
if (!(this instanceof App.Logger))
throw new Error('Constructor invoked as a function!');
this.defaults = {
loggingProvider: null
};
this.settings = $.extend({}, this.defaults, options);
};
App.Logger.prototype = (function () {
return {
debug: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.debug) {
this.settings.loggingProvider.debug(message);
}
}
, error: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.error) {
this.settings.loggingProvider.error(message);
}
}
, fatal: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.fatal) {
this.settings.loggingProvider.fatal(message);
}
}
, info: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.info) {
this.settings.loggingProvider.info(message);
}
}
, log: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.log) {
this.settings.loggingProvider.log(message);
}
}
, trace: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.trace) {
this.settings.loggingProvider.trace(message);
}
}
, warn: function (message) {
if (this.settings.loggingProvider && this.settings.loggingProvider.warn) {
this.settings.loggingProvider.warn(message);
}
}
};
})();
}));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment