!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.plog=e():"undefined"!=typeof global?global.plog=e():"undefined"!=typeof self&&(self.plog=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o this.maxSize) { this.purgeOldEvents(); index = loadIndex(); } var key = 'plog-event-' + index.nextId; localStorage[key] = JSON.stringify(event); index.nextId++; saveIndex(index); }; module.exports = LocalStorage; },{}],3:[function(require,module,exports){ var plog = {}; plog.storages = { LocalStorage: require('./LocalStorage'), InMemoryStorage: require('./InMemoryStorage') }; plog.level = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, FATAL: 4, getName: function(level) { for (var x in this) { if (this[x] === level) return x; } return level; } }; var currentStorage, currentLevel; plog.reset = function() { currentStorage = new plog.storages.LocalStorage(); currentLevel = plog.level.INFO; }; plog.reset(); plog.useStorage = function(storage) { currentStorage = storage; }; plog.getStorage = function() { return currentStorage; }; plog.getLevel = function() { return currentLevel; }; plog.setLevel = function(level) { currentLevel = level; }; function write(level, msg) { if (level < currentLevel) return; var event = { level: level, date: new Date(), message: msg }; currentStorage.append(event); console.log(event.date.toISOString() + ': ' + plog.level.getName(level) + ': ' + event.message); } function createWriteFunc(level) { return function(msg) { write(level, msg); }; } for (var levelName in plog.level) { if (plog.level.hasOwnProperty(levelName)) { plog[levelName.toLowerCase()] = createWriteFunc(plog.level[levelName]); } } module.exports = plog; },{"./InMemoryStorage":1,"./LocalStorage":2}]},{},[3]) (3) });