@livy/dom-handler

Writes Livy log records to the browser DOM

Usage no npm install needed!

<script type="module">
  import livyDomHandler from 'https://cdn.skypack.dev/@livy/dom-handler';
</script>

README

@livy/dom-handler

This Livy handler writes log records to the browser's DOM.


Synchronous logger support: yes

Runtime: Browsers


Basic Example

const { DomHandler } = require('@livy/dom-handler')

const handler = new DomHandler('#logs')

Installation

Install it via npm:

npm install @livy/dom-handler

Options

The first argument to this handler's constructor is a selector string or a DOM element to write the log records to.

Note: If you pass a selector string, it will immediately try to find it in the DOM tree. If no results are yielded, the selector will be looked up again once the DOM finished loading. If no according element is found by then, the handler will throw an error.

If you're running your logger in async mode, logged records will simply be deferred until that point. However, if you're logging in mixed or sync mode, the logger will throw an error if no target element has been found yet.

An object of options can be passed to the constructor as the second argument.

The following options are available:

autoScroll

Type: 'edge' | 'force' | 'none'

Default: 'edge'

Description: Scroll behavior when new log records are added:

  • edge: scroll new entry into view if container has previously been scrolled to the edge
  • force: always scroll new entries into view
  • none: no automatic scrolling

bubble

Type: boolean

Default: true

Description: Controls whether records handled by this handler should bubble up to other handlers.

See also: Bubbling

formatter

Type: FormatterInterface

Default: new HtmlPrettyFormatter()

Description: The formatter to use.

level

Type: LogLevel

Default: 'debug'

Description: Controls which log records should be handled based on their log level.

reversed

Type: boolean

Default: false

Description: Whether DOM elements should be added at the beginning of the container instead of the end

Public API

bubble

Controls whether records handled by this handler should bubble up to other handlers. Initially set through the bubble option.

See also: Bubbling

close()

This handler implements the ClosableHandlerInterface and does internal cleanup work.

You usually don't want to call this method manually. It is done automatically when a Node.js process exits / a browser page is closed.

defaultFormatter (read-only)

The formatter used by this handler if no formatter option is set.

formatter

This handler supports formatters by implementing the FormattableHandlerInterface.

level

The minimum log level of a log record to be considered by this handler. Initially set through the level option.

processors

This handler supports processors by implementing the ProcessableHandlerInterface.

reset()

This handler implements the ResettableInterface. Resetting it resets all attached processors.

You usually don't want to call this method manually on an individual handler. Consider calling it on the logger instead.