diff options
Diffstat (limited to 'www/lib/filelogger')
| -rw-r--r-- | www/lib/filelogger/.bower.json | 12 | ||||
| -rw-r--r-- | www/lib/filelogger/README.md | 8 | ||||
| -rw-r--r-- | www/lib/filelogger/bower.json | 2 | ||||
| -rw-r--r-- | www/lib/filelogger/dist/filelogger.js | 30 | ||||
| -rw-r--r-- | www/lib/filelogger/dist/filelogger.min.js | 2 | ||||
| -rw-r--r-- | www/lib/filelogger/package.json | 2 |
6 files changed, 42 insertions, 14 deletions
diff --git a/www/lib/filelogger/.bower.json b/www/lib/filelogger/.bower.json index 2f6314c0..ff9be55e 100644 --- a/www/lib/filelogger/.bower.json +++ b/www/lib/filelogger/.bower.json @@ -1,6 +1,6 @@ { "name": "filelogger", - "version": "1.2.0", + "version": "1.3.0", "homepage": "https://github.com/pbakondy/filelogger", "authors": [ "Peter Bakondy <pbakondy@gmail.com>" @@ -27,14 +27,14 @@ "file logger" ], "license": "MIT", - "_release": "1.2.0", + "_release": "1.3.0", "_resolution": { "type": "version", - "tag": "v1.2.0", - "commit": "34d8cc57c16c842ec757cc078e9385286b2ff1c4" + "tag": "v1.3.0", + "commit": "9500dca94558ffb27de6416c6031ddf54e183265" }, "_source": "git://github.com/pbakondy/filelogger.git", - "_target": "~1.2.0", + "_target": "~1.3.0", "_originalSource": "filelogger", "_direct": true -} +}
\ No newline at end of file diff --git a/www/lib/filelogger/README.md b/www/lib/filelogger/README.md index b1e3c20f..e0e29aa3 100644 --- a/www/lib/filelogger/README.md +++ b/www/lib/filelogger/README.md @@ -68,6 +68,14 @@ Wrapper for $fileLogger.log('error', ...) You can set the local filename (default messages.log). It requests one parameter, the filename (type string). +### $fileLogger.setTimestampFormat(format, timezone) + +You can customize the timestamp format using [Angular <code>date</code> filter](https://docs.angularjs.org/api/ng/filter/date). See formatting parameters on the linked Angular docs page. Example: + +```js +$fileLogger.setTimestampFormat('medium'); +``` + ### $fileLogger.getLogfile() You can read the whole logfile from the filestore. This method returns a promise. diff --git a/www/lib/filelogger/bower.json b/www/lib/filelogger/bower.json index fb4b8fe2..3ec2e262 100644 --- a/www/lib/filelogger/bower.json +++ b/www/lib/filelogger/bower.json @@ -1,6 +1,6 @@ { "name": "filelogger", - "version": "1.2.0", + "version": "1.3.0", "homepage": "https://github.com/pbakondy/filelogger", "authors": [ "Peter Bakondy <pbakondy@gmail.com>" diff --git a/www/lib/filelogger/dist/filelogger.js b/www/lib/filelogger/dist/filelogger.js index 28852fa8..fa5f2625 100644 --- a/www/lib/filelogger/dist/filelogger.js +++ b/www/lib/filelogger/dist/filelogger.js @@ -6,12 +6,13 @@ (function(){ /* global angular, console, cordova */ -// install : cordova plugin add cordova-plugin-file +// install : cordova plugin add cordova-plugin-file +// date format: https://docs.angularjs.org/api/ng/filter/date angular.module('fileLogger', ['ngCordova.plugins.file']) - .factory('$fileLogger', ['$q', '$window', '$cordovaFile', '$timeout', - function ($q, $window, $cordovaFile, $timeout) { + .factory('$fileLogger', ['$q', '$window', '$cordovaFile', '$timeout', '$filter', + function ($q, $window, $cordovaFile, $timeout, $filter) { 'use strict'; @@ -22,6 +23,9 @@ angular.module('fileLogger', ['ngCordova.plugins.file']) var storageFilename = 'messages.log'; + var dateFormat; + var dateTimezone; + function isBrowser() { return (!$window.cordova && !$window.PhoneGap && !$window.phonegap); @@ -39,7 +43,9 @@ angular.module('fileLogger', ['ngCordova.plugins.file']) level = 'INFO'; } - var timestamp = (new Date()).toJSON(); + var now = new Date(); + var timestamp = dateFormat ? + $filter('date')(now, dateFormat, dateTimezone) : now.toJSON(); var messages = Array.prototype.slice.call(arguments, 1); var message = [ timestamp, level ]; @@ -243,6 +249,19 @@ angular.module('fileLogger', ['ngCordova.plugins.file']) } + function setTimestampFormat(format, timezone) { + if (!(angular.isUndefined(format) || angular.isString(format))) { + throw new TypeError('format parameter must be a string or undefined'); + } + if (!(angular.isUndefined(timezone) || angular.isString(timezone))) { + throw new TypeError('timezone parameter must be a string or undefined'); + } + + dateFormat = format; + dateTimezone = timezone; + } + + function checkFile() { var q = $q.defer(); @@ -299,6 +318,7 @@ angular.module('fileLogger', ['ngCordova.plugins.file']) getLogfile: getLogfile, deleteLogfile: deleteLogfile, setStorageFilename: setStorageFilename, + setTimestampFormat: setTimestampFormat, checkFile: checkFile, debug: debug, info: info, @@ -308,4 +328,4 @@ angular.module('fileLogger', ['ngCordova.plugins.file']) }]); -})(); +})();
\ No newline at end of file diff --git a/www/lib/filelogger/dist/filelogger.min.js b/www/lib/filelogger/dist/filelogger.min.js index b0f555a3..4fd8ec79 100644 --- a/www/lib/filelogger/dist/filelogger.min.js +++ b/www/lib/filelogger/dist/filelogger.min.js @@ -3,4 +3,4 @@ * Copyright 2015 Peter Bakondy https://github.com/pbakondy * See LICENSE in this repository for license information */ -!function(){angular.module("fileLogger",["ngCordova.plugins.file"]).factory("$fileLogger",["$q","$window","$cordovaFile","$timeout",function(e,o,n,r){"use strict";function l(){return!o.cordova&&!o.PhoneGap&&!o.phonegap}function t(e){angular.isString(e)?(e=e.toUpperCase(),-1===m.indexOf(e)&&(e="INFO")):e="INFO";for(var o,n=(new Date).toJSON(),r=Array.prototype.slice.call(arguments,1),t=[n,e],c=0;c<r.length;c++)if(angular.isArray(r[c])){o="[Array]";try{o=JSON.stringify(r[c])}catch(i){}t.push(o)}else if(angular.isObject(r[c])){o="[Object]";try{o=JSON.stringify(r[c])}catch(i){}t.push(o)}else t.push(r[c]);if(l()){if(r.unshift(n),angular.isObject(console)&&angular.isFunction(console.log))switch(e){case"DEBUG":angular.isFunction(console.debug)?console.debug.apply(console,r):console.log.apply(console,r);break;case"INFO":angular.isFunction(console.debug)?console.info.apply(console,r):console.log.apply(console,r);break;case"WARN":angular.isFunction(console.debug)?console.warn.apply(console,r):console.log.apply(console,r);break;case"ERROR":angular.isFunction(console.debug)?console.error.apply(console,r):console.log.apply(console,r);break;default:console.log.apply(console,r)}}else console.log(t.join(" "));v.push({message:t.join(" ")+"\n"}),h||a()}function a(){if(!v.length)return void(h=!1);h=!0;var e=v.shift();c(e.message).then(function(){r(function(){a()})},function(){r(function(){a()})})}function c(r){var t=e.defer();return l()?(o.localStorage[F]||(o.localStorage[F]=""),o.localStorage[F]+=r,t.resolve()):n.checkFile(cordova.file.dataDirectory,F).then(function(){n.writeExistingFile(cordova.file.dataDirectory,F,r).then(function(){t.resolve()},function(e){t.reject(e)})},function(){n.writeFile(cordova.file.dataDirectory,F,r,!0).then(function(){t.resolve()},function(e){t.reject(e)})}),t.promise}function i(){var r=e.defer();return l()?r.resolve(o.localStorage[F]):n.readAsText(cordova.file.dataDirectory,F).then(function(e){r.resolve(e)},function(e){r.reject(e)}),r.promise}function s(){var r=e.defer();return l()?(o.localStorage.removeItem(F),r.resolve()):n.removeFile(cordova.file.dataDirectory,F).then(function(e){r.resolve(e)},function(e){r.reject(e)}),r.promise}function u(e){return angular.isString(e)&&e.length>0?(F=e,!0):!1}function f(){var r=e.defer();return l()?r.resolve({name:F,localURL:"localStorage://localhost/"+F,type:"text/plain",size:o.localStorage[F]?o.localStorage[F].length:0}):n.checkFile(cordova.file.dataDirectory,F).then(function(e){e.file(r.resolve,r.reject)},r.reject),r.promise}function g(){var e=Array.prototype.slice.call(arguments,0);e.unshift("DEBUG"),t.apply(void 0,e)}function p(){var e=Array.prototype.slice.call(arguments,0);e.unshift("INFO"),t.apply(void 0,e)}function y(){var e=Array.prototype.slice.call(arguments,0);e.unshift("WARN"),t.apply(void 0,e)}function d(){var e=Array.prototype.slice.call(arguments,0);e.unshift("ERROR"),t.apply(void 0,e)}var v=[],h=!1,m=["DEBUG","INFO","WARN","ERROR"],F="messages.log";return{log:t,getLogfile:i,deleteLogfile:s,setStorageFilename:u,checkFile:f,debug:g,info:p,warn:y,error:d}}])}(); +!function(){angular.module("fileLogger",["ngCordova.plugins.file"]).factory("$fileLogger",["$q","$window","$cordovaFile","$timeout","$filter",function(e,o,n,r,t){"use strict";function a(){return!o.cordova&&!o.PhoneGap&&!o.phonegap}function l(e){angular.isString(e)?(e=e.toUpperCase(),-1===O.indexOf(e)&&(e="INFO")):e="INFO";for(var o,n=new Date,r=m?t("date")(n,m,F):n.toJSON(),l=Array.prototype.slice.call(arguments,1),c=[r,e],s=0;s<l.length;s++)if(angular.isArray(l[s])){o="[Array]";try{o=JSON.stringify(l[s])}catch(u){}c.push(o)}else if(angular.isObject(l[s])){o="[Object]";try{o=JSON.stringify(l[s])}catch(u){}c.push(o)}else c.push(l[s]);if(a()){if(l.unshift(r),angular.isObject(console)&&angular.isFunction(console.log))switch(e){case"DEBUG":angular.isFunction(console.debug)?console.debug.apply(console,l):console.log.apply(console,l);break;case"INFO":angular.isFunction(console.debug)?console.info.apply(console,l):console.log.apply(console,l);break;case"WARN":angular.isFunction(console.debug)?console.warn.apply(console,l):console.log.apply(console,l);break;case"ERROR":angular.isFunction(console.debug)?console.error.apply(console,l):console.log.apply(console,l);break;default:console.log.apply(console,l)}}else console.log(c.join(" "));S.push({message:c.join(" ")+"\n"}),b||i()}function i(){if(!S.length)return void(b=!1);b=!0;var e=S.shift();c(e.message).then(function(){r(function(){i()})},function(){r(function(){i()})})}function c(r){var t=e.defer();return a()?(o.localStorage[R]||(o.localStorage[R]=""),o.localStorage[R]+=r,t.resolve()):n.checkFile(cordova.file.dataDirectory,R).then(function(){n.writeExistingFile(cordova.file.dataDirectory,R,r).then(function(){t.resolve()},function(e){t.reject(e)})},function(){n.writeFile(cordova.file.dataDirectory,R,r,!0).then(function(){t.resolve()},function(e){t.reject(e)})}),t.promise}function s(){var r=e.defer();return a()?r.resolve(o.localStorage[R]):n.readAsText(cordova.file.dataDirectory,R).then(function(e){r.resolve(e)},function(e){r.reject(e)}),r.promise}function u(){var r=e.defer();return a()?(o.localStorage.removeItem(R),r.resolve()):n.removeFile(cordova.file.dataDirectory,R).then(function(e){r.resolve(e)},function(e){r.reject(e)}),r.promise}function f(e){return angular.isString(e)&&e.length>0?(R=e,!0):!1}function g(e,o){if(!angular.isUndefined(e)&&!angular.isString(e))throw new TypeError("format parameter must be a string or undefined");if(!angular.isUndefined(o)&&!angular.isString(o))throw new TypeError("timezone parameter must be a string or undefined");m=e,F=o}function p(){var r=e.defer();return a()?r.resolve({name:R,localURL:"localStorage://localhost/"+R,type:"text/plain",size:o.localStorage[R]?o.localStorage[R].length:0}):n.checkFile(cordova.file.dataDirectory,R).then(function(e){e.file(r.resolve,r.reject)},r.reject),r.promise}function d(){var e=Array.prototype.slice.call(arguments,0);e.unshift("DEBUG"),l.apply(void 0,e)}function y(){var e=Array.prototype.slice.call(arguments,0);e.unshift("INFO"),l.apply(void 0,e)}function v(){var e=Array.prototype.slice.call(arguments,0);e.unshift("WARN"),l.apply(void 0,e)}function h(){var e=Array.prototype.slice.call(arguments,0);e.unshift("ERROR"),l.apply(void 0,e)}var m,F,S=[],b=!1,O=["DEBUG","INFO","WARN","ERROR"],R="messages.log";return{log:l,getLogfile:s,deleteLogfile:u,setStorageFilename:f,setTimestampFormat:g,checkFile:p,debug:d,info:y,warn:v,error:h}}])}();
\ No newline at end of file diff --git a/www/lib/filelogger/package.json b/www/lib/filelogger/package.json index 165d6598..a3cc3938 100644 --- a/www/lib/filelogger/package.json +++ b/www/lib/filelogger/package.json @@ -2,7 +2,7 @@ "name": "filelogger", "private": false, "main": "dist/filelogger", - "version": "1.2.0", + "version": "1.3.0", "repository": { "url": "git://github.com/pbakondy/filelogger.git" }, |
