leo-logger
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

Leo-Logger

Such an awesome logger that we had to break it out from the LEO SDK and make it its own project!

Available methods

  • sub
  • info
  • json
  • time
  • timeEnd
  • log
  • debug
  • error
  • warn
  • trace
  • configure

Available configuration options

  • a = all
  • t = time
  • i = info
  • d = debug
  • e = error
  • w = warn
  • x = trace
  • j = json
  • T = printTimestamp

Usage example:

export LEO_LOGGER='/.*/d'
export LEO_LOGGER='/my-logger/wei;/.*/ei'

Working with namespaces

You can log logs for specific namespaces by passing a string when requiring the leo-logger. Example:

const logger = require('leo-logger')('my-special-namespace');

When you use a namespace, logging works the same, but the output will be prefixed with the namespace:

logger.log('My namespaced log');
// outputs: my-special-namespace my namespaced log

If you want to display logs for certain namespaces only, you can adjust LEO_LOGGER to match the namespace.

# Example outputting all logs for my-special-namespace
export LEO_LOGGER='/my\-special\-namespace/a'

You may notice in the previous example how it appears we’re using regex. This allows you to employ more powerful namespace logging. As an example, let’s say you have a shopping cart, and you want to have logs specific to the checkout process. Each of the checkout pages would include the leo-logger. I'm going to use an example of 2 checkout pages, which would look like this:

const logger = require('leo-logger')('checkout-payment');
const logger = require('leo-logger')('checkout-process-order');

Then if you want to display logs for the process-order page, you would do this:

export LEO_LOGGER='/checkout\-process\-order/a'

But if you want to display logs for all checkout pages, you can use the power of regex to select everything starting with “checkout”:

export LEO_LOGGER='/checkout.*/a'

Loggers

logger.log('my logged message');
logger.info('my info');
logger.debug('just some debugging code');

Timers

// start a timer
logger.time('myTimer');
// stop a timer
logger.timeEnd('endTimer');

To-Do

More documentation with examples with code and output.

Support

Want to hire an expert, or need technical support? Reach out to the Leo team: https://leoinsights.com/contact

Package Sidebar

Install

npm i leo-logger

Weekly Downloads

1,850

Version

1.0.6

License

MIT

Unpacked Size

10.2 kB

Total Files

5

Last publish

Collaborators

  • leoinsights
  • jgrantr
  • czirker
  • elsmob
  • francislewis