Logger for JavaScript inspired by Logback.
---
title: "Outline Diagram"
---
erDiagram
LoggerFactory ||--|{ Logger: ""
Logger }o--o{ Appender: ""
| Class | Role |
|---|---|
| LoggerFactory | Factory class of Loggers. |
| Logger | Manage and log Appenders. |
| Appender | Define output destination and append log. |
List of Appenders library provides:
| Appender | Module | Description |
|---|---|---|
| Console Appender | @logback4js/core |
Output to console. Core module. |
| HTTP POST Appender | @logback4js/core |
Post logging API. Core module. |
| LocalStorage Appender | @logback4js/storage |
Output to LocalStorage. |
| SessionStorage Appender | @logback4js/storage |
Output to SessionStorage. |
| IndexedDB Appender | @logback4js/storage |
Output to IndexedDB. |
| Simple Mail Appender | @logback4js/mail |
Send text mail using Nodemailer. |
| Rich Mail Appender | @logback4js/mail |
Send html mail using Nodemailer. |
| SQLite Appender | @logback4js/database (experimental) |
Insert record into SQLite database using node-sqlite3. It is planed to be migrate node:sqlite after Node.js v20 is going to be EOL. |
| PostgreSQL Appender | @logback4js/database (experimental) |
Insert record into PostgreSQL database using node-postgres. |
| Redis Appender | @logback4js/database (experimental) |
Set key into Redis using node-redis. |
| MongoDB Appender | @logback4js/database (experimental) |
Insert document into MongoDB using the official MongoDB Node.js driver. When using this appender, install mongodb. |
| Google Analytics Appender | @logback4js/google-analytics |
Send event using Google Analytics. |
| Google Analytics for Firebase Appender | @logback4js/google-analytics |
Send event using Google Analytics for Firebase. |
| Slack Appender | @logback4js/slack |
Send message using Slack Web API. Not tested yet. |
| Twitter Appender | @logback4js/twitter |
Send message using SDKs wrap the X API. Using this Appender in browser, proxy setting is required to bypass CORS. Not tested yet. |
| Microsoft Teams Appender | @logback4js/microsoft |
Send message to Teams using Microsoft Graph. Use workflow with custom HTTP POST Appender might be better. Not tested yet. |
| Discord Appender | @logback4js/discord |
Send message using discord.js. Use Discord Webhook Appender might be better. Not tested yet. |
| Discord Webhook Appender | @logback4js/discord |
Send message using Discord Webhook. Not tested yet. |
After release version 1.0.0, follow the rules of Semantic Versioning 2.0.0.
- MAJOR: Update core module including breaking change.
- MINOR: Update core module NOT including breaking change or update others such as adding new features.
- PATCH: Update NOT including behavior change such as update documents or dependencies.
Run npm run build to build the project. The build artifacts will be stored in the dist/ directory.
Run npm run test to execute the unit tests via Jest.
# Build packages before test
npm ci && npm run build
# Boot mock
docker compose -f=mock/compose.yaml up -d
# Run unit tests
npm run test