diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2017-09-21 12:49:18 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2017-09-21 12:49:18 -0400 |
| commit | b28028ac4082842143b0f528d6bc539da6ccb419 (patch) | |
| tree | 1e26ea969a781ed8e323fca4e3c76345113fc694 /www/lib/filelogger/README.md | |
| parent | 676270d21beed31d767a06c89522198c77d5d865 (diff) | |
mega changes, including updates and X
Diffstat (limited to 'www/lib/filelogger/README.md')
| -rw-r--r-- | www/lib/filelogger/README.md | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/www/lib/filelogger/README.md b/www/lib/filelogger/README.md new file mode 100644 index 00000000..0fe3054d --- /dev/null +++ b/www/lib/filelogger/README.md @@ -0,0 +1,190 @@ +Ionic File Logger +========== + +[](http://bower.io/search/?q=filelogger) + +Logger module for Ionic projects. + +When you run your application in device the Logger writes in the local filesystem (with cordova-plugin-file) and the system logs (with console.log). + +When you run your application in browser with „ionic serve” the Logger uses browsers localStorage and the browser console (with console.log). + +## Dependencies + +- [ngCordova](http://ngcordova.com/) ( required version v0.1.24-alpha ) +- [cordova-plugin-file](https://github.com/apache/cordova-plugin-file) + +## Installation + +Add cordova plugin: + +```bash +$ cordova plugin add cordova-plugin-file +``` + +Install manually, or from bower: + +```bash +$ bower install filelogger +``` + +Install with npm: + +```bash +$ npm install ionic-filelogger +``` + +Include *filelogger.min.js* and ng-cordova.js or *ng-cordova.min.js* in your index.html file before cordova.js and after your AngularJS / Ionic file (since ngCordova depends on AngularJS). + +```html +<script src="lib/ngCordova/dist/ng-cordova.min.js"></script> +<script src="lib/filelogger/dist/filelogger.min.js"></script> +<script src="cordova.js"></script> +``` + +Comment: you don't have to use the complete ngCordova package. I suggest to create a [Custom Build](http://ngcordova.com/build/) with file module. + + +## Usage + +### $fileLogger.log(level, ...message) + +General logger method. The first parameter is the log level (debug, info, warn, error). The following parameters are the message parts. +You can put here any javascript type (string, number, boolean, object, array). + +In the logfile every item starts with the current UTC timestamp, followed by the log level and the message. + +### $fileLogger.debug(...message) + +Wrapper for $fileLogger.log('debug', ...) + +### $fileLogger.info(...message) + +Wrapper for $fileLogger.log('info', ...) + +### $fileLogger.warn(...message) + +Wrapper for $fileLogger.log('warn', ...) + +### $fileLogger.error(...message) + +Wrapper for $fileLogger.log('error', ...) + +### $fileLogger.setStorageFilename(filename) + +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. + +### $fileLogger.deleteLogfile() + +You can delete the logfile from the filestore. This method returns a promise. + +### $fileLogger.checkFile() + +Get storage file data. This method returns an object. + +```js +// response on iOS +{ + "name": "myLog.txt", + "localURL": "cdvfile://localhost/library-nosync/myLog.txt", + "type": null, + "lastModified": 1435668606000, + "lastModifiedDate": 1435668606000, + "size": 450, + "start": 0, + "end": 450 +} + +// response on Android +{ + "name": "myLog.txt", + "localURL": "cdvfile://localhost/files/myLog.txt", + "type": "text/plain", + "lastModified": 1435669292000, + "lastModifiedDate": 1435669292000, + "size": 450, + "start": 0, + "end": 450 +} + +// response in Browser +{ + "name": "myLog.txt", + "localURL": "localStorage://localhost/myLog.txt", + "type": "text/plain", + "size": 450 +} +``` + +### Example use + +```js +angular.module('starter', ['ionic', 'fileLogger']) + .controller('mainCtrl', ['$scope', '$fileLogger', '$timeout', function($scope, $fileLogger, $timeout) { + + function testing() { + + $fileLogger.setStorageFilename('myLog.txt'); + + $fileLogger.log('debug', 'message'); + $fileLogger.log('info', 'message'); + $fileLogger.log('warn', 'message'); + $fileLogger.log('error', 'message'); + + $fileLogger.debug('message'); + $fileLogger.info('message'); + $fileLogger.warn('message'); + $fileLogger.error('message'); + + $fileLogger.log('error', 'error message', { code: 1, meaning: 'general' }); + + $fileLogger.log('info', 'message', 123, [1, 2, 3], { a: 1, b: '2' }); + + $timeout(function(){ + $fileLogger.getLogfile().then(function(l) { + console.log('Logfile content'); + console.log(l); + }); + }, 1000); + + $timeout(function(){ + $fileLogger.checkFile().then(function(d) { + console.log('Logfile data'); + console.log(JSON.stringify(d)); + }); + }, 2000); + + $timeout(function(){ + $fileLogger.deleteLogfile().then(function() { + console.log('Logfile deleted'); + }); + }, 3000); + + } + +}]); +``` + + +## Author + +#### Peter Bakondy + +- https://github.com/pbakondy + + +## LICENSE + +Ionic File Logger is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository. |
