|
|
2 роки тому | |
|---|---|---|
| .. | ||
| History.md | 2 роки тому | |
| README.md | 2 роки тому | |
| index.js | 2 роки тому | |
| package.json | 2 роки тому | |
The last console logger
npm install --save zlogger
zlogger is same as global console which has .log, .info, .warn, .error.
Every line will start with prefix that you customize.
const logger = new ConsoleLogger({
prefix: '> ',
});
Specify stdout/stderr, default is process.stdout/process.stderr, you can use fs if you want to print to file.
const logger = new ConsoleLogger({
stdout: fs.createWriteStream('stdout.log'),
stderr: fs.createWriteStream('stderr.log'),
});
logger.info('info');
logger.error('error');
// cat stdout.log
// cat stderr.log
You can create a child logger, the first argument can be a ChildProcess or writable stream. If you give a prefix, it will print after prefix defined by the parent logger.
const cp = require('child_process');
const logger = new ConsoleLogger({
prefix: 'prefix > ',
});
logger.info('see directory')
const ls = cp.spawn('ls', { cwd: __dirname });
logger.child(ls, '> ');
// [15:03:46] prefix > see directory
// [15:03:46] prefix > > History.md
// [15:03:46] prefix > > README.md
// [15:03:46] prefix > > index.js
// [15:03:46] prefix > > node_modules
// [15:03:46] prefix > > package.json
// [15:03:46] prefix > > test
.child will return a new logger.
const logger = new ConsoleLogger({
prefix: 'parent> ',
});
logger.info('parent');
const child = logger.child('child> ');
child.info('child');
// [15:02:43] parent> parent
// [15:02:43] parent> child> child
It will print time before prefix, format is [HH:MM:SS], but you can disable it.
.log and .info will pipe to it,default is process.stdout.warn and .error will pipe to it,default is process.stderrprefix, if it's a function, it will be called every line print.(The MIT License)