123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- import * as log4js from './log4js';
- log4js.configure('./filename');
- const logger1 = log4js.getLogger();
- logger1.level = 'debug';
- logger1.debug("Some debug messages");
- logger1.fatal({
- whatever: 'foo'
- })
- const logger3 = log4js.getLogger('cheese');
- logger3.trace('Entering cheese testing');
- logger3.debug('Got cheese.');
- logger3.info('Cheese is Gouda.');
- logger3.warn('Cheese is quite smelly.');
- logger3.error('Cheese is too ripe!');
- logger3.fatal('Cheese was breeding ground for listeria.');
- log4js.configure({
- appenders: { cheese: { type: 'console', filename: 'cheese.log' } },
- categories: { default: { appenders: ['cheese'], level: 'error' } }
- });
- log4js.configure({
- appenders: {
- out: { type: 'file', filename: 'pm2logs.log' }
- },
- categories: {
- default: { appenders: ['out'], level: 'info' }
- },
- pm2: true,
- pm2InstanceVar: 'INSTANCE_ID'
- });
- log4js.addLayout('json', config => function (logEvent) {
- return JSON.stringify(logEvent) + config.separator;
- });
- log4js.configure({
- appenders: {
- out: { type: 'stdout', layout: { type: 'json', separator: ',' } }
- },
- categories: {
- default: { appenders: ['out'], level: 'info' }
- }
- });
- log4js.configure({
- appenders: {
- file: { type: 'dateFile', filename: 'thing.log', pattern: '.mm' }
- },
- categories: {
- default: { appenders: ['file'], level: 'debug' }
- }
- });
- const logger4 = log4js.getLogger('thing');
- logger4.log('logging a thing');
- const logger5 = log4js.getLogger('json-test');
- logger5.info('this is just a test');
- logger5.error('of a custom appender');
- logger5.warn('that outputs json');
- log4js.shutdown();
- log4js.configure({
- appenders: {
- cheeseLogs: { type: 'file', filename: 'cheese.log' },
- console: { type: 'console' }
- },
- categories: {
- cheese: { appenders: ['cheeseLogs'], level: 'error' },
- another: { appenders: ['console'], level: 'trace' },
- default: { appenders: ['console', 'cheeseLogs'], level: 'trace' }
- }
- });
- const logger6 = log4js.getLogger('cheese');
- // only errors and above get logged.
- const otherLogger = log4js.getLogger();
- // this will get coloured output on console, and appear in cheese.log
- otherLogger.error('AAArgh! Something went wrong', { some: 'otherObject', useful_for: 'debug purposes' });
- otherLogger.log('This should appear as info output');
- // these will not appear (logging level beneath error)
- logger6.trace('Entering cheese testing');
- logger6.debug('Got cheese.');
- logger6.info('Cheese is Gouda.');
- logger6.log('Something funny about cheese.');
- logger6.warn('Cheese is quite smelly.');
- // these end up only in cheese.log
- logger6.error('Cheese %s is too ripe!', 'gouda');
- logger6.fatal('Cheese was breeding ground for listeria.');
- // these don't end up in cheese.log, but will appear on the console
- const anotherLogger = log4js.getLogger('another');
- anotherLogger.debug('Just checking');
- // will also go to console and cheese.log, since that's configured for all categories
- const pantsLog = log4js.getLogger('pants');
- pantsLog.debug('Something for pants');
- import { configure, getLogger } from './log4js';
- configure('./filename');
- const logger2 = getLogger();
- logger2.level = 'debug';
- logger2.debug("Some debug messages");
- configure({
- appenders: { cheese: { type: 'file', filename: 'cheese.log' } },
- categories: { default: { appenders: ['cheese'], level: 'error' } }
- });
- log4js.configure('./filename').getLogger();
- const logger7 = log4js.getLogger();
- logger7.level = 'debug';
- logger7.debug("Some debug messages");
- const levels: log4js.Levels = log4js.levels;
- const level: log4js.Level = levels.getLevel('info');
- log4js.connectLogger(logger1, {
- format: ':x, :y',
- level: 'info',
- context: true
- });
- log4js.connectLogger(logger2, {
- format: (req, _res, format) => format(`:remote-addr - ${req.id} - ":method :url HTTP/:http-version" :status :content-length ":referrer" ":user-agent"`)
- });
- //support for passing in an appender module
- log4js.configure({
- appenders: { thing: { type: { configure: () => {} }}},
- categories: { default: { appenders: ['thing'], level: 'debug'}}
- });
|