2.3.3 • Published 4 years ago
@node-package/logger v2.3.3
logger
logger for nodejs
Install
$ npm i @zhangfuxing/logger
Node.js 12+ required (Because of use Class private fields)
options
When isTTY is false, logger will not write to terminal.
constructor
dir
optional, Log folder path, if it is given, it will log to filerotate
optional, Whether cut logs by day- default: false
disableConsole
optional, disable write to terminal- default: false
info
args
The message to write
info(...args: any[]): void;
warn
args
The message to write
warn(...args: any[]): void;
error
args
The message to write
error(...args: any[]): void;
disable
disable write to terminal and file for unit testing
Useage
console logger
const Logger = require('@zhangfuxing/logger');
const logger = new Logger();
logger.info('consoleLogger info', { name: 'zfx' });
logger.warn('consoleLogger warn', 1, 'any');
logger.error('consoleLogger error', new Error('test'));
file and console logger
const Logger = require('@zhangfuxing/logger');
const logger = new Logger({
dir: './log'
});
logger.info('fileLogger info', 'any', { name: 'zfx' });
logger.warn('fileLogger warn', 'any', 'any');
logger.error('fileLogger error', 'any', new Error('test'), 'any');
file logger only
const Logger = require('@zhangfuxing/logger');
const logger = new Logger({
dir: './log',
disableConsole: true
});
logger.info('fileLogger info', 'any', { name: 'zfx' });
logger.warn('fileLogger warn', 'any', 'any');
logger.error('fileLogger error', 'any', new Error('test'), 'any');
file logger cut by day
const Logger = require('@zhangfuxing/logger');
const logger = new Logger({
dir: './log',
rotate: true
});
logger.info('fileLogger info', 'any', { name: 'zfx' });
logger.warn('fileLogger warn', 'any', 'any');
logger.error('fileLogger error', 'any', new Error('test'), 'any');
More screenshots in the screenshots
folder.
disable for unit testing
disable write to terminal and file for unit testing
consoleLogger.js
const Logger = require('@zhangfuxing/logger');
const logger = new Logger();
module.exports = logger
fileLogger.js
const Logger = require('@zhangfuxing/logger');
const logger = new Logger({
dir: './log'
});
module.exports = logger
xx.test.js
const consoleLogger= require('xx/consoleLogger');
const fileLogger= require('xx/fileLogger');
consoleLogger.disable();
fileLogger.disable();
Test
$ npm test
More test file in the test
folder.
2.3.3
4 years ago