Package Exports
- egg-logger
- egg-logger/index.js
- egg-logger/lib/level
- egg-logger/lib/level.js
- egg-logger/lib/utils
- egg-logger/lib/utils.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (egg-logger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
egg-logger
Egg logger.

Including two base class, Logger and Transport:
- Transport: Save log to file, stdout/stderr and network.
- Logger: A logger can contains multi transports.
Install
$ npm i egg-loggerUsage
Create a Logger and add a file Transport.
const Logger = require('egg-logger').Logger;
const FileTransport = require('egg-logger').FileTransport;
const ConsoleTransport = require('egg-logger').ConsoleTransport;
const logger = new Logger();
logger.set('file', new FileTransport({
file: '/path/to/file',
level: 'INFO',
}));
logger.set('console', new ConsoleTransport({
level: 'DEBUG',
}));
logger.debug('debug foo'); // only output to stdout
logger.info('info foo');
logger.warn('warn foo');
logger.error(new Error('error foo'));Enable / Disable Transport
logger.disable('file');
logger.info('info'); // output nothing
logger.enable('file');
logger.info('info'); // output 'info' stringDuplicate
Duplicate error log to other logger.
Accept an options.excludes to special whether excludes some tranports.
logger.duplicate('error', errorLogger, { excludes: [ 'console' ]});
logger.error(new Error('print to errorLogger')); // will additional call `errorLogger.error`Redirect
Redirect special level log to other logger.
oneLogger.redirect('debug', debugLogger); // all debug level logs of `oneLogger` will delegate to debugLoggerReload
logger.reload(); // will close the exists write stream and create a new one.Custom Transport
You can make your own Transport for logging,e.g.: send log to your logging server.
const urllib = require('urllib');
const Transport = require('egg-logger').Transport;
class UrllibTransport extends Transport {
log(level, args, meta) {
const msg = super.log(level, args, meta);
return urllib.request('url?msg=' + msg);
}
}
const logger = new Logger();
logger.set('remote', new UrllibTransport({
level: 'DEBUG',
}));
logger.info('info');Console logger level
set environment NODE_CONSOLE_LOGGRE_LEVEL = 'INFO' | 'WARN' | 'ERROR'
License
Contributors
Made with contributors-img.