Skip to content

Independent logger objects with different log levels #119

@vineyyadav

Description

@vineyyadav

I want to use this library for a small project where I have two modules. I want to control the logging (primarily the log level) independently and on the fly for the two modules.

Is it possible to get multiple logger objects which are independent?

Something like:
module 1 has

const tracer = require('tracer');
const logger = tracer.console({ level: 'debug' });

function setLogLevel(level) {
    tracer.setLevel(level);
}

function m1foo() {
    logger.debug('m1foo:debug');
    logger.info('m1foo:info');
    logger.warn('m1foo:warn');
    logger.error('m1foo:error');
}

module.exports = {
    setLogLevel: setLogLevel,
    m1foo: m1foo
}

module 2 has

const tracer = require('tracer');
const logger = tracer.console({ level: 'debug' });

function setLogLevel(level) {
    tracer.setLevel(level);
}

function m2foo() {
    logger.debug('m2foo:debug');
    logger.info('m2foo:info');
    logger.warn('m2foo:warn');
    logger.error('m2foo:error');
}

module.exports = {
    setLogLevel: setLogLevel,
    m2foo: m2foo
}

And then using them like:

const m1 = require('./m1.js');
const m2 = require('./m2.js');

m1.setLogLevel('warn');

m1.m1foo();
m2.m2foo();

And expecting that the m1.setLogLevel does not change the log level for m2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions