change: use regular getters and setters in LazyLoggerFactory

This commit is contained in:
Ruben Taelman
2020-09-23 09:43:48 +02:00
committed by Ruben Taelman
parent b62f4eb016
commit f186bece9f
6 changed files with 40 additions and 28 deletions

View File

@@ -6,7 +6,7 @@ describe('LazyLogger', (): void => {
let logger: LazyLogger;
beforeEach(async(): Promise<void> => {
lazyLoggerFactory = LazyLoggerFactory.getInstance();
lazyLoggerFactory.setLoggerFactory(undefined);
lazyLoggerFactory.resetLoggerFactory();
logger = new LazyLogger(lazyLoggerFactory, 'MyLabel');
});
@@ -22,7 +22,7 @@ describe('LazyLogger', (): void => {
const dummyLoggerFactory: any = {
createLogger: jest.fn((): any => dummyLogger),
};
lazyLoggerFactory.setLoggerFactory(dummyLoggerFactory);
lazyLoggerFactory.loggerFactory = dummyLoggerFactory;
expect(logger.log('debug', 'my message', { abc: true })).toBe(dummyLogger);
expect(dummyLoggerFactory.createLogger).toHaveBeenCalledTimes(1);
@@ -38,7 +38,7 @@ describe('LazyLogger', (): void => {
const dummyLoggerFactory: any = {
createLogger: jest.fn((): any => dummyLogger),
};
lazyLoggerFactory.setLoggerFactory(dummyLoggerFactory);
lazyLoggerFactory.loggerFactory = dummyLoggerFactory;
expect(logger.log('debug', 'my message 1', { abc: true })).toBe(dummyLogger);
expect(logger.log('debug', 'my message 2', { abc: true })).toBe(dummyLogger);

View File

@@ -5,7 +5,7 @@ describe('LazyLoggerFactory', (): void => {
let dummyLogger: any;
let dummyLoggerFactory: any;
beforeEach(async(): Promise<void> => {
LazyLoggerFactory.getInstance().setLoggerFactory(undefined);
LazyLoggerFactory.getInstance().resetLoggerFactory();
dummyLogger = {
log: jest.fn((): any => dummyLogger),
};
@@ -24,23 +24,23 @@ describe('LazyLoggerFactory', (): void => {
});
it('allows LazyLoggers to be created after an inner factory was set.', async(): Promise<void> => {
LazyLoggerFactory.getInstance().setLoggerFactory(dummyLoggerFactory);
LazyLoggerFactory.getInstance().loggerFactory = dummyLoggerFactory;
const logger = LazyLoggerFactory.getInstance().createLogger('MyLabel');
expect(logger).toBeInstanceOf(LazyLogger);
});
it('throws when retrieving the inner factory if none has been set.', async(): Promise<void> => {
expect((): any => LazyLoggerFactory.getInstance().getLoggerFactoryOrThrow())
expect((): any => LazyLoggerFactory.getInstance().loggerFactory)
.toThrow(new Error('No logger factory has been set yet. Can be caused logger invocation during initialization.'));
});
it('Returns the inner factory if one has been set.', async(): Promise<void> => {
LazyLoggerFactory.getInstance().setLoggerFactory(dummyLoggerFactory);
expect(LazyLoggerFactory.getInstance().getLoggerFactoryOrThrow()).toBe(dummyLoggerFactory);
LazyLoggerFactory.getInstance().loggerFactory = dummyLoggerFactory;
expect(LazyLoggerFactory.getInstance().loggerFactory).toBe(dummyLoggerFactory);
});
it('allows LazyLoggers to be invoked if a factory has been set beforehand.', async(): Promise<void> => {
LazyLoggerFactory.getInstance().setLoggerFactory(dummyLoggerFactory);
LazyLoggerFactory.getInstance().loggerFactory = dummyLoggerFactory;
const logger = LazyLoggerFactory.getInstance().createLogger('MyLabel');
logger.log('debug', 'my message', { abc: true });
@@ -50,7 +50,7 @@ describe('LazyLoggerFactory', (): void => {
it('allows LazyLoggers to be invoked if a factory has been after lazy logger creation.', async(): Promise<void> => {
const logger = LazyLoggerFactory.getInstance().createLogger('MyLabel');
LazyLoggerFactory.getInstance().setLoggerFactory(dummyLoggerFactory);
LazyLoggerFactory.getInstance().loggerFactory = dummyLoggerFactory;
logger.log('debug', 'my message', { abc: true });
expect(dummyLogger.log).toHaveBeenCalledTimes(1);

View File

@@ -1,12 +1,12 @@
import { LazyLogger } from '../../../src/logging/LazyLogger';
import { LazyLoggerFactory } from '../../../src/logging/LazyLoggerFactory';
import { getLoggerFor, setGlobalLoggerFactory } from '../../../src/logging/LogUtil';
import { getLoggerFor, resetGlobalLoggerFactory, setGlobalLoggerFactory } from '../../../src/logging/LogUtil';
import { VoidLogger } from '../../../src/logging/VoidLogger';
import { VoidLoggerFactory } from '../../../src/logging/VoidLoggerFactory';
describe('LogUtil', (): void => {
beforeEach(async(): Promise<void> => {
setGlobalLoggerFactory(undefined);
resetGlobalLoggerFactory();
});
it('allows creating a lazy logger for a string label.', async(): Promise<void> => {
@@ -21,13 +21,13 @@ describe('LogUtil', (): void => {
it('allows setting the global logger factory.', async(): Promise<void> => {
expect(setGlobalLoggerFactory(new VoidLoggerFactory()));
expect(LazyLoggerFactory.getInstance().getLoggerFactoryOrThrow()).toBeInstanceOf(VoidLoggerFactory);
expect(LazyLoggerFactory.getInstance().loggerFactory).toBeInstanceOf(VoidLoggerFactory);
});
it('allows unsetting the global logger factory.', async(): Promise<void> => {
expect(setGlobalLoggerFactory(new VoidLoggerFactory()));
expect(setGlobalLoggerFactory(undefined));
expect((): any => LazyLoggerFactory.getInstance().getLoggerFactoryOrThrow())
expect(resetGlobalLoggerFactory());
expect((): any => LazyLoggerFactory.getInstance().loggerFactory)
.toThrow(new Error('No logger factory has been set yet. Can be caused logger invocation during initialization.'));
});
});