public/lib/logger.js (25 lines of code) (raw):
define([
'angular',
'moment'],
function(angular, moment) {
/*
* This decorator provides a simple wrapper around logging to make it easier
* to get information from the client.
*/
var LOG_URL = "/support/logger";
var logger = angular.module('logger', []);
logger.factory('logger', ['$injector', function($injector) {
function send(message, level, fields) {
var $http = $injector.get('$http');
var data = {
timestamp: moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ"),
message: message,
level: level || "INFO",
fields: fields
};
return $http({method: 'POST',
url: LOG_URL,
data: data
});
}
return {
log: send
};
}]);
});