NPM plugin for JS logger loglevel which will log all messages to localStorage
Features
- Messages put on a stack, stack is stored entirely.
- Max stack size for logs to be stored can be set.
- You can specify prefix function which would dynamically add prefix for all log messages (app name, current user, etc.).
Installation
- Using npm =
npm install loglevel-local-storage
Configuration
import loglevel
and loglevel-localStorage
scripts to your file first. Then configure the plugin:
loglevelLocalStorage(logger, options)
Extend loglevel with new plugin which will send log information to the log-sever
Param | Type | Description |
---|---|---|
logger | object |
loglevel instance to be extended |
options | object |
|
[options.storeKey='loglevelLocalStorage' ] |
string |
Name for the store in localStorage. |
[options.maxLogStackSize=100 ] |
number |
Max stack size to store. |
[options.callOriginal=false ] |
Bool |
If set to true - original loglevel method for logging would be called |
[options.prefix=null ] |
string | function |
Prefix for all log messages. Either string or function wich should return string and accept log severity and message as parameters |
[options.level=logger.levels.WARN ] |
string | number |
Log level. Either string or number, See loglevel.setLevel. |
[options.persistentLog=false ] |
Bool |
If set to true - persist log entries between instantiations of the same log stack. |
Example
var debuglog = ; // import debuglog from 'loglevel';var loglevelLocalStorage = ; // import loglevelLocalStorage from 'loglevel-local-storage'; debuglog; ; var { var test = "123"; debuglog;}; ; // output console (callOriginal = true): // test 123// output localStorage (see prefix function above):// [2016-07-19T15:39:18.110Z] info: test 123 // ES6 example:;; debuglog;;
Another Prefix Example
You may keep the log in a JSON format to be able to parse later
... { var message = Arrayprototypeslice; return logLevel message; } ...