ace-browser-logger

0.99.0 • Public • Published

Ace Browser Logger

A very light weight async logger for browser based logging

Usage

let logger = createLogger({
								url: 'http://localhost:3000/api/log',
								asyncHttpOutput: true
						  });

logger.setLevel('trace');

logger.info('business events like "payment success"');
logger.warn('non critical status or failures');
logger.error('business rule fail or system error');
logger.debug('during development or additional diagnostic, limited production use');
logger.trace('includes stack trace very limited production');

logger.flush();

Options

{
	url: 'http://localhost:3000/api/log',
    consoleOutput: false,
    asyncHttpOutput: true,
    logLevel: 'info',
    queueLength: 100,
    timerInterval: 250,
    batchSize: 25,
    timeout: 1000,
    csrfTokenCookieName: ""
}

url

The target url for the http writer (no default) An error will be thrown if asyncHttpOutput is true and no url is provided

consoleOutput

If set to true creates a ConsoleWriter that will output a to the browser console (defaults to false) Console logging should not be on in production

asyncHttpOutput

If set to true creates AsyncWriter which uses an AxiosWriter to make remote http posts (defaults to true)

queueLength

The maximum number of log entries the AsycWriter will queue (defaults to 100)

timeInterval

The time interval, in milliseconds, for asynchronous writes (defaults to 250)

batchSize

The number of log entries that will be posted in for each interval (defaults to 25)

timeout

The timeout for post request (defaults to 1000)

logLevel

Sets the log level that will be forwarded from the logger to the writers (defaults to INFO)

csrfTokenCookieName

Sets the name of the cookie containing the CSRF Token, if CSRF tokens are added from cookies. If this is blank/undefined, then no CSRF token will be sent (defaults to undefined).

Install

npm install ace-browser-logger

Roadmap

- Add circuit breaker functionality to AsyncWriter

  • Send last batch on window.beforeUnload event
  • Accept events from windows error event
  • New Relic Writer for the asyncwriter to forward events to
  • Splunk writer
  • Filter log events at the registered writers instead of centrally at the logger
  • Tag Writer for abobe analytics

Readme

Keywords

none

Package Sidebar

Install

npm i ace-browser-logger

Weekly Downloads

0

Version

0.99.0

License

ISC

Unpacked Size

70 kB

Total Files

11

Last publish

Collaborators

  • guyo-clublabs