1.0.1 ā€¢ Published 2 years ago

@workcast-org/log-helper v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

workcast header

The Log Helper is a helper service that can be included inside of any JavaScript project. The helper allows us to setup a consistent method to print logs and query on them easily using a service such as AWS Log Insights. This works best with lambda functions

šŸ  WorkCast Homepage

Installation

NPM:

npm install @workcast-org/log-helper

Yarn:

yarn add @workcast-org/log-helper

Usage

Require the package in the file you wish to add logging to:

const LogHelper = require('log-helper');

Create a new instance with the tags you'd like (optional)

const log = new LogHelper({
    tags: ['my-tag', 'my-second-tag']
});

Call the appropriate logging methods:

log.info('Hello World');

// the two methods below include traces
log.debug('This is a debug message');
log.error('This is an error message');

The debug method

By default, log.error does not log anything to the console. Instead the helper stores all messages given to it and prints them all once log.error is called. After that, any subsequent calls logs directly to the console

To disable this setting, pass storeDebug: false in the constructor options, this is useful in a test scenario

If you need to always log to the console right away, pass debug: true to constructor options

Log structure

{
    logLevel: 'info', // or 'debug' or 'error'
    tags: ['my-tag', 'my-second-tag'],
    msg: 'my log message',
    stack: [
        {
            "func": "testHelper",
            "file": "/example/path/test.js",
            "line": "112",
            "column": "23"
        }
        {
            "func": "Object.<anonymous>",
            "file": "/example/path/anotherTest.js",
            "line": "8",
            "column": "5"
        }
    ]
}

Constructor Options

tags - an array of strings, this is included in every log output debug - enables printing directly to the console when log.debug is called storeDebug - set this to false to disable logging of debug logs when an error is called

Errors

When an error object is given to log.error or log.debug, then the stack trace is extracted and the message property is set as msg in the log

If an error object isn't given to either of these, then a stack trace is generated for you, which excludes built-in functions

Author

šŸ‘¤ WorkCast

Show your support

Give a ā­ļø if this project helped you!