@erboladaiorg/eum-veniam-similique v5.4.87
@erboladaiorg/eum-veniam-similique
@erboladaiorg/eum-veniam-similique is a sophisticated console reporting system designed to provide developers with enhanced feedback, including line traces of events, multi-object reporting, event listening, and consistent logging. This module modifies the Node.js global console to deliver a seamless and informative debugging experience with unlimited object depth.
Although currently optimized for server-side Node.js, future updates may include support for web browsers. For comprehensive documentation, please visit the docs.
This open-source project originates from a console module used in @jumpcutking/threads and is a key component of The Universe platform.
Features
- Enhanced Feedback: Provides line traces of events, multi-object reporting, and event listening.
- Consistent Logging: Modifies the global console for a uniform logging experience.
- Unlimited Depth: Allows unlimited object depth for detailed inspection.
- Error Handling: Improved handling of undefined objects and safe error generation.
What's New
v1.7.0
- Added improved undefined object handling when passing objects to console.function("String", $obj).
v1.6.0
- Additional bug fixes.
- Introduced
jckConsole.TruncateTopLevel
for reporting top-level object properties, useful for large objects without removing nested arrays and attached objects.
v1.5.0
jckConsole
now providesgenerateSafeError
for automatically generating safe, communicable error objects.- Added a string variable to match the original stack trace item for easier debugging in VSCode.
Installation
Install the module using NPM:
```bash npm install @erboladaiorg/eum-veniam-similique ```
Usage
Integrating @erboladaiorg/eum-veniam-similique is straightforward. Add the following code at the top of your script:
```javascript const jckConsole = require('@erboladaiorg/eum-veniam-similique'); jckConsole.startup({ ...options }); ```
@erboladaiorg/eum-veniam-similique will not override the global console object until `startup()` is called with the specified options.
Options
Name | Type | Description |
---|---|---|
reportToConsole | boolean | Automatically report to the terminal and console. |
generateStacktrace | boolean | Generate a stacktrace object for each log message. |
storeLogs | boolean | Store logs in memory. |
depth | number | Depth to inspect objects (0 for unlimited). |
Adding a Callback or Listening to an Event
@erboladaiorg/eum-veniam-similique supports two types of callbacks: one for all console calls and another for specific console functions.
Example
```javascript jckConsole.on('entry', (type, message, args, stack, from) => { // Your code here... });
// or
console.on('entry', (type, message, args, stack, from) => { // Your code here... }); ```
```javascript jckConsole.on('warn', (message, args, stack, from) => { // Your code here... });
// or
console.on('warn', (message, args, stack, from) => { // Your code here... }); ```
Supported Methods
Name | Type | Description |
---|---|---|
log | function | The log function. |
info | function | The info function. |
warn | function | The warn function. |
error | function | The error function. |
debug | function | The debug function. |
Logging Entries
@erboladaiorg/eum-veniam-similique can store logs in memory for later retrieval, each stamped with DateTime and, if enabled, a stacktrace object.
Example
```javascript const entries = jckConsole.getEntries(); console.getEntries();
// Clear entries jckConsole.clearEntries(); console.clearEntries(); ```
Log Entry Object
Name | Type | Description |
---|---|---|
type | string | The type of console message. |
message | string | The message provided to the console object. |
args | * | Additional arguments provided. |
stack | Array | Stacktrace object array. |
when | DateTime | Entry creation time. |
from | object | Stacktrace object for the original caller. |
Building Documentation
To build the documentation, run the following command:
```bash npm run docs ```
Ensure you have the `jsdoc-to-markdown` module installed:
```bash npm install jsdoc-to-markdown ```
Using Node's Console Object
You can still use the original console object by creating a new instance after overriding the global console object.
```javascript const { Console } = require('node:console'); const myConsole = new Console({ stdout: process.stdout, stderr: process.stderr }); ```
Code Overview
This module replaces Node's built-in console with one that supports event listeners, enabling child threads to communicate using console.log syntax. It is designed for server-side use and has not been tested for client-side applications.
For detailed implementation, refer to the source code and examples provided in the repository.
Notes from the Project Creator
Rewritten: I've asked ChatGPT 4o to help me rewrite the README.md file for the @erboladaiorg/eum-veniam-similique module. It's based on the one I've written and provides a deep indepth view of the code. If you have any questions, or prefer the older style, please let me know. Thank you!
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago