Skip to content

A fast and lightweight logging library that enables logging flexibility within JavaScript/TypeScript applications, similar to Apache's Log4j2

License

Notifications You must be signed in to change notification settings

log4js2/log4js2-core

Repository files navigation

log4js2

log4js2 is a fast and lightweight logging library that enables logging flexibility within JavaScript/TypeScript applications, similar to Apache's Log4j2 library. It can also serve as a drop-in replacement for log4js, since the namespace and functions are mostly similar.

Build Status codecov dependencies

Installing & Building

If you're building from source, simply run

> npm install
> npm run build

Or, you can install log4js2 from npm.

> npm install --save @log4js2/core

Getting Started

Logging works out-of-the-box, with no configuration. However, note that only error messages will display without specific configuration.

import {getLogger} from '@log4js2/core';

const logger = getLogger('myLogger');

console.error('Console error'); // this will show

logger.error('This is an error log'); // this will show
logger.debug('This is a debug log'); // this will not show

Configuration

Configure log4js using the configure() method. This must be the first thing you do. Otherwise, the first log you commit will not allow updates from this function

import {configure, LogLevel} from '@log4js2/core';

configure({
    layout : '%d [%p] %c %M:%line:%column - %m %ex',
    appenders : ['Console'],
    loggers : [{
        tag: 'App',
        logLevel : LogLevel.INFO
    }]
});

Virtual Console

This library utilizes a virtual console to intercept console logs from other libraries/scripts. This is intended to allow usage of this library without having to replace all console.log commands within your code - or to intercept logs from third-party libraries to input into your own logs bucket. Make sure log4js2 is loaded at the top of the page to ensure that all logs are caught.

import * from '@log4js2/core';

console.log('console log');

// outputs: 08-30-2018 12:38:00 [INFO] main - console log

To disable this feature, set the virtualConsole property to false when configuring log4js2.

configure({
    // ...
    virtualConsole: false
});

Contributors

Library built and maintained by Robin Schultz

If you would like to contribute (aka buy me a beer), you can send funds via PayPal at the link below.

paypal

About

A fast and lightweight logging library that enables logging flexibility within JavaScript/TypeScript applications, similar to Apache's Log4j2

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published