Skip to content

Configuring Multiple Appenders

Console Output and File Rotation Configuration

Configure LogFactory ./factory.ts

typescript
import { 
  Level,
  LogFactory, 
  ConsoleAppender,
  PatternLayout,
} from 'base-log-factory';
import { FileAppender } from 'blf-file-appender';

const logFactory = new LogFactory({
  level: Level.DEBUG,  // Set global log level
  appenders: [
    new ConsoleAppender(),
    new FileAppender('./logs/app.log', {
      layout: new PatternLayout('[%d{YYYY-MM-DDTHH:mm:ssZ}] [%p] %c - %m %x{userId}'),
      maxSize: 1024 * 1024, // 1MB
      backups: 5,
      compress: true // Enable GZIP compression
    })
  ]
});

Get Logger ./main.ts

typescript
import logFactory from './factory';

const logger = logFactory.getLogger('app');
logger.info('hello world!');

Console Output and Date-Based File Rotation Configuration

Configure LogFactory ./factory.ts

typescript
import { 
  Level,
  LogFactory, 
  ConsoleAppender, 
  PatternLayout
} from 'base-log-factory';
import { FileAppender } from 'blf-file-appender';

const logFactory = new LogFactory({
  level: Level.DEBUG,  // Set global log level
  appenders: [
    new ConsoleAppender(),
    new DateFileAppender('./logs/app.daily.log', {
      pattern: 'YYYY-MM-DD',
      backups: 7 // Keep 7 days of logs
    })
  ]
});

Get Logger ./main.ts

typescript
import logFactory from './factory';

const logger = logFactory.getLogger('app');
logger.info('hello world!');