Logger for JavaScript inspired by Logback.
npm install @logback4js/core






Logger for JavaScript inspired by Logback.
``mermaid
---
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. |@logback4js/core
| HTTP POST Appender | | Post logging API. Core module. |@logback4js/storage
| LocalStorage Appender | | Output to LocalStorage. |@logback4js/storage
| SessionStorage Appender | | Output to SessionStorage. |@logback4js/storage
| IndexedDB Appender | | Output to IndexedDB. |@logback4js/mail
| Simple Mail Appender | | Send text mail using Nodemailer. |@logback4js/mail
| Rich Mail Appender | | Send html mail using Nodemailer. |@logback4js/database
| SQLite Appender | (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. |@logback4js/database
| PostgreSQL Appender | (experimental) | Insert record into PostgreSQL database using node-postgres. |@logback4js/database
| Redis Appender | (experimental) | Set key into Redis using node-redis. |@logback4js/database
| MongoDB Appender | (experimental) | Insert document into MongoDB using the official MongoDB Node.js driver. When using this appender, install mongodb. |@logback4js/google-analytics
| Google Analytics Appender | | Send event using Google Analytics. |@logback4js/google-analytics
| Google Analytics for Firebase Appender | | Send event using Google Analytics for Firebase. |@logback4js/slack
| Slack Appender | | Send message using Slack Web API. Not tested yet. |@logback4js/twitter
| Twitter Appender | | Send message using SDKs wrap the X API. Using this Appender in browser, proxy setting is required to bypass CORS. Not tested yet. |@logback4js/microsoft
| Microsoft Teams Appender | | Send message to Teams using Microsoft Graph. Use workflow with custom HTTP POST Appender might be better. Not tested yet. |@logback4js/discord
| Discord Appender | | Send message using discord.js. Use Discord Webhook Appender might be better. Not tested yet. |@logback4js/discord
| Discord Webhook Appender | | Send message using Discord Webhook. Not tested yet. |
After release version 1.0.0, follow the rules of Semantic Versioning 2.0.0.
1. MAJOR: Update core module including breaking change.
2. MINOR: Update core module NOT including breaking change or update others such as adding new features.
3. 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.
`bash``Build packages before test
npm ci && npm run buildBoot mock
docker compose -f=mock/compose.yaml up -dRun unit tests
npm run test
---