What is @ledgerhq/logs?
@ledgerhq/logs is an npm package designed to facilitate logging within applications that interact with Ledger hardware wallets. It provides a simple and consistent way to log messages, which can be useful for debugging and monitoring the behavior of applications.
What are @ledgerhq/logs's main functionalities?
Basic Logging
This feature allows you to log messages with a specific type and level. In this example, 'apdu' is the type, 'message' is the content, and 'debug' is the level of the log.
const { log } = require('@ledgerhq/logs');
log('apdu', 'message', 'debug');
Custom Log Listener
You can set up a custom listener to handle log messages. This example demonstrates how to listen for log events and print them to the console.
const { listen } = require('@ledgerhq/logs');
listen(log => {
console.log(log.type, log.message, log.level);
});
Other packages similar to @ledgerhq/logs
winston
Winston is a versatile logging library for Node.js that supports multiple transports (e.g., console, file, HTTP). It is more feature-rich compared to @ledgerhq/logs, offering advanced features like log levels, custom formats, and more.
bunyan
Bunyan is another logging library for Node.js that focuses on JSON output for structured logging. It provides features like log levels, serializers, and streams. Bunyan is more suitable for applications that require structured logs and advanced logging capabilities.
pino
Pino is a fast and low-overhead logging library for Node.js. It is designed for high-performance logging and provides features like log levels, serializers, and transports. Pino is ideal for applications that need efficient and performant logging.
@ledgerhq/logs
Utility library that is used by all Ledger libraries to dispatch logs so we can deal with them in a unified way.
API
Table of Contents
Log
A Log object
log
log something
Parameters
type
string a namespaced identifier of the log (it is not a level like "debug", "error" but more like "apdu-in", "apdu-out", etc...)message
string? a clear message of the log associated to the typedata
any?
listen
listen to logs.
Parameters
cb
Subscriber that is called for each future log() with the Log object
Returns Unsubscribe a function that can be called to unsubscribe the listener