|
1 سال پیش | |
---|---|---|
.. | ||
History.md | 1 سال پیش | |
README.md | 1 سال پیش | |
index.js | 1 سال پیش | |
package.json | 1 سال پیش |
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)