@rs-r2d2/log4ts
Version:
A powerful, flexible logging library for TypeScript inspired by Apache Log4j, featuring colored output and emojis
41 lines (40 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Logger_1 = require("../Logger");
const LogLevel_1 = require("../LogLevel");
describe('Logger', () => {
let logger;
let mockAppender;
beforeEach(() => {
mockAppender = {
append: jest.fn(),
setLayout: jest.fn()
};
logger = new Logger_1.Logger('TestLogger');
logger.addAppender(mockAppender);
});
test('should create log events with correct level and message', () => {
logger.info('Test message');
expect(mockAppender.append).toHaveBeenCalledWith(expect.objectContaining({
level: LogLevel_1.LogLevel.INFO,
message: 'Test message',
loggerName: 'TestLogger'
}));
});
test('should handle placeholder substitution', () => {
logger.debug('Test {} with {}', 'message', 123);
expect(mockAppender.append).toHaveBeenCalledWith(expect.objectContaining({
level: LogLevel_1.LogLevel.DEBUG,
message: 'Test message with 123'
}));
});
test('should handle error objects', () => {
const error = new Error('Test error');
logger.error('Failed', error);
expect(mockAppender.append).toHaveBeenCalledWith(expect.objectContaining({
level: LogLevel_1.LogLevel.ERROR,
message: 'Failed',
error
}));
});
});