maester

Async logging and exception handling library runs on browsers and node.js

Usage no npm install needed!

<script type="module">
  import maester from 'https://cdn.skypack.dev/maester';
</script>

README

maester

npm version npm download dependencies license

What is the Maester?

This project is designed for being responsible of all exception handling and logging features that a JavaScript application needs.

Why Maester?

I like standartization in general concepts like error handling and logging. I have several node.js and browser application projects and most of the time I try to keep my code design similar, portable and shareable for applicability to other scenerios. Maester is the one of the products that I have developed with this mindset.

As an exception handling and logging library,

  • Delivers base exception classes,
  • Provides a logging interface can be called in any module,
  • Event-based system can be easily subscribed by other parties,
  • Built-in and extensible loggers/appenders can be attached or detached at any time,
  • Customizable severity levels,
  • Formatters for log entries,
  • Multiplatform support for browsers and node.js,

Quick start

Execute npm install maester to install maester and its dependencies into your project directory.

Usage

For example, to append a new item to an existing array:

import maester from 'maester';

maester.info('An information message');
maester.error('An error occurred', { user: localStorage.userId });

Todo List

  • FileLogger, RollingFileLogger, StreamLogger etc.
  • Exception formatters
  • DateTime entries
  • Custom severities for each logger
  • Events for handling exceptions

See GitHub Projects for more.

Requirements

License

Apache 2.0, for further details, please see LICENSE file

Contributing

See contributors.md

It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome.

  • To contribute to code: Fork the repo, push your changes to your fork, and submit a pull request.
  • To report a bug: If something does not work, please report it using GitHub Issues.

To Support

Visit my patreon profile at patreon.com/eserozvataf