@triviality/logger
Version:
Typescript loggers with an interface that support composition
51 lines (42 loc) • 1.41 kB
text/typescript
import { ProcessLogger } from '../ProcessLogger';
import * as os from 'os';
it('should pass log message to stdout and stderror logger', () => {
const process = {
stderr: {
write: jest.fn(),
},
stdout: {
write: jest.fn(),
},
};
const logger = new ProcessLogger(process as any);
/* tslint:disable:no-console */
logger.info('test info', 1);
expect(process.stdout.write).toBeCalledWith(`test info 1${os.EOL}`);
logger.warn('test warning', 2);
expect(process.stdout.write).toBeCalledWith(`test warning 2${os.EOL}`);
logger.debug('test debug', 3);
expect(process.stdout.write).toBeCalledWith(`test debug 3${os.EOL}`);
logger.error('test error', 4);
expect(process.stderr.write).toBeCalledWith(`test error 4${os.EOL}`);
});
it('Can use different eol', () => {
const process = {
stderr: {
write: jest.fn(),
},
stdout: {
write: jest.fn(),
},
};
const logger = new ProcessLogger(process as any, '');
/* tslint:disable:no-console */
logger.info('test info', 1);
expect(process.stdout.write).toBeCalledWith('test info 1');
logger.warn('test warning', 2);
expect(process.stdout.write).toBeCalledWith('test warning 2');
logger.debug('test debug', 3);
expect(process.stdout.write).toBeCalledWith('test debug 3');
logger.error('test error', 4);
expect(process.stderr.write).toBeCalledWith('test error 4');
});