UNPKG

logger4node

Version:

![build](https://github.com/yog27ray/logger4node/actions/workflows/node.js.yml/badge.svg?branch=master) [![codecov](https://codecov.io/gh/yog27ray/logger4node/branch/master/graph/badge.svg)](https://codecov.io/gh/yog27ray/logger4node)

148 lines 8.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sinon_1 = require("sinon"); const logger_1 = require("../src/logger/logger"); const logger4_node_1 = require("../src/logger/logger4-node"); function printLogsInDifferentLevel(logger) { logger.verbose('verbose log'); logger.debug('debug log'); logger.info('info log'); logger.warn('warn log'); logger.error('error log'); } function printLogsInDifferentType(logger) { logger.error('this is ', 1, true, { key1: 1, value: 2 }); } describe('Logger4nodeString', () => { describe('logging in different level', () => { let callbackSpy; let logger1; let logger1Instance1; let logger1Instance2; let logger2; let logger2Instance1; beforeAll(() => { logger1 = new logger4_node_1.Logger4Node('Logger1'); logger1Instance1 = logger1.instance('Instance1'); logger1Instance2 = logger1.instance('Instance2'); logger2 = new logger4_node_1.Logger4Node('Logger2'); logger2Instance1 = logger2.instance('Instance1'); }); beforeEach(() => { logger1.setLogPattern('Logger1:*'); logger1.setLogLevel(logger_1.LogSeverity.VERBOSE); logger2.setLogPattern('Logger1:*'); logger2.setLogLevel(logger_1.LogSeverity.VERBOSE); Object.keys(logger_1.LogLevel).forEach((logSeverity) => logger1.setLogSeverityPattern(logSeverity, undefined)); Object.keys(logger_1.LogLevel).forEach((logSeverity) => logger2.setLogSeverityPattern(logSeverity, undefined)); callbackSpy = (0, sinon_1.spy)(console, 'log'); }); it('should print all logs', () => { printLogsInDifferentLevel(logger1Instance1); expect(callbackSpy.callCount).toBe(5); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Verbose: Logger1:Instance1 verbose log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Debug: Logger1:Instance1 debug log'); expect(callbackSpy.getCall(2).args.join(' ')).toBe('Info: Logger1:Instance1 info log'); expect(callbackSpy.getCall(3).args.join(' ')).toBe('Warn: Logger1:Instance1 warn log'); expect(callbackSpy.getCall(4).args.join(' ')).toBe('Error: Logger1:Instance1 error log'); }); it('should not print logger2 logs', () => { printLogsInDifferentLevel(logger2Instance1); expect(callbackSpy.callCount).toBe(0); }); it('should allow print logger2 logs', () => { logger1.setLogPattern('Logger1:*,Logger2:*'); logger2.setLogPattern('Logger1:*,Logger2:*'); printLogsInDifferentLevel(logger2Instance1); expect(callbackSpy.callCount).toBe(5); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Verbose: Logger2:Instance1 verbose log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Debug: Logger2:Instance1 debug log'); expect(callbackSpy.getCall(2).args.join(' ')).toBe('Info: Logger2:Instance1 info log'); expect(callbackSpy.getCall(3).args.join(' ')).toBe('Warn: Logger2:Instance1 warn log'); expect(callbackSpy.getCall(4).args.join(' ')).toBe('Error: Logger2:Instance1 error log'); }); it('should print only Logger1 Debug and above logs', () => { logger1.setLogLevel(logger_1.LogSeverity.WARN); logger2.setLogLevel(logger_1.LogSeverity.WARN); printLogsInDifferentLevel(logger1Instance1); printLogsInDifferentLevel(logger2Instance1); expect(callbackSpy.callCount).toBe(2); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Warn: Logger1:Instance1 warn log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Error: Logger1:Instance1 error log'); }); it('should print only Logger1 Debug and above logs and logger2 only Debug: ', () => { logger1.setLogLevel(logger_1.LogSeverity.WARN); logger2.setLogLevel(logger_1.LogSeverity.WARN); logger1.setLogSeverityPattern(logger_1.LogSeverity.WARN, 'Logger2:*'); logger2.setLogSeverityPattern(logger_1.LogSeverity.WARN, 'Logger2:*'); printLogsInDifferentLevel(logger1Instance1); printLogsInDifferentLevel(logger2Instance1); expect(callbackSpy.callCount).toBe(3); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Warn: Logger1:Instance1 warn log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Error: Logger1:Instance1 error log'); expect(callbackSpy.getCall(2).args.join(' ')).toBe('Warn: Logger2:Instance1 warn log'); }); it('should print both instance of Logger1', () => { printLogsInDifferentLevel(logger1Instance1); printLogsInDifferentLevel(logger1Instance2); expect(callbackSpy.callCount).toBe(10); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Verbose: Logger1:Instance1 verbose log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Debug: Logger1:Instance1 debug log'); expect(callbackSpy.getCall(2).args.join(' ')).toBe('Info: Logger1:Instance1 info log'); expect(callbackSpy.getCall(3).args.join(' ')).toBe('Warn: Logger1:Instance1 warn log'); expect(callbackSpy.getCall(4).args.join(' ')).toBe('Error: Logger1:Instance1 error log'); expect(callbackSpy.getCall(5).args.join(' ')).toBe('Verbose: Logger1:Instance2 verbose log'); expect(callbackSpy.getCall(6).args.join(' ')).toBe('Debug: Logger1:Instance2 debug log'); expect(callbackSpy.getCall(7).args.join(' ')).toBe('Info: Logger1:Instance2 info log'); expect(callbackSpy.getCall(8).args.join(' ')).toBe('Warn: Logger1:Instance2 warn log'); expect(callbackSpy.getCall(9).args.join(' ')).toBe('Error: Logger1:Instance2 error log'); }); it('should print only instance1 of Logger1', () => { logger1.setLogPattern('Logger1:*,-Logger1:Instance2*'); logger2.setLogPattern('Logger1:*,-Logger1:Instance2*'); printLogsInDifferentLevel(logger1Instance1); printLogsInDifferentLevel(logger1Instance2); expect(callbackSpy.callCount).toBe(5); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Verbose: Logger1:Instance1 verbose log'); expect(callbackSpy.getCall(1).args.join(' ')).toBe('Debug: Logger1:Instance1 debug log'); expect(callbackSpy.getCall(2).args.join(' ')).toBe('Info: Logger1:Instance1 info log'); expect(callbackSpy.getCall(3).args.join(' ')).toBe('Warn: Logger1:Instance1 warn log'); expect(callbackSpy.getCall(4).args.join(' ')).toBe('Error: Logger1:Instance1 error log'); }); afterEach(() => { callbackSpy.restore(); }); }); describe('logging in different type', () => { let callbackSpy; let logger1; let logger1Instance1; let logger2; let logger2Instance1; beforeAll(() => { logger1 = new logger4_node_1.Logger4Node('Logger1'); logger1Instance1 = logger1.instance('Instance1'); logger2 = new logger4_node_1.Logger4Node('Logger2'); logger2.setStringLogging(true); logger2Instance1 = logger2.instance('Instance1'); }); beforeEach(() => { logger1.setLogPattern('Logger1:*,Logger2:*'); logger2.setLogPattern('Logger1:*,Logger2:*'); logger1.setLogLevel(logger_1.LogSeverity.VERBOSE); logger2.setLogLevel(logger_1.LogSeverity.VERBOSE); Object.keys(logger_1.LogLevel).forEach((logSeverity) => logger1.setLogSeverityPattern(logSeverity, undefined)); Object.keys(logger_1.LogLevel).forEach((logSeverity) => logger2.setLogSeverityPattern(logSeverity, undefined)); callbackSpy = (0, sinon_1.spy)(console, 'log'); }); it('should print logs only in string', () => { printLogsInDifferentType(logger2Instance1); expect(callbackSpy.callCount).toBe(1); expect(callbackSpy.getCall(0).args.join(' ')).toBe('Error: Logger2:Instance1 this is 1 true {"key1":1,"value":2}'); }); afterEach(() => { callbackSpy.restore(); }); }); }); //# sourceMappingURL=test-string.test.js.map