Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
egg-logger
Advanced tools
Egg logger.
Including two base class, Logger
and Transport
:
$ npm i egg-logger
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'));
logger.disable('file');
logger.info('info'); // output nothing
logger.enable('file');
logger.info('info'); // output 'info' string
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 special level log to other logger.
oneLogger.redirect('debug', debugLogger); // all debug level logs of `oneLogger` will delegate to debugLogger
logger.reload(); // will close the exists write stream and create a new one.
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');
set environment NODE_CONSOLE_LOGGRE_LEVEL = 'INFO' | 'WARN' | 'ERROR'
fengmk2 | dead-horse | popomore | atian25 | mansonchor | whxaxes |
---|---|---|---|---|---|
Jeff-Tian | andy-ms | luckydrq | XadillaX | linrf | duqingyu |
lix059 | congyuandong | waitingsong |
This project follows the git-contributor spec, auto updated at Sat Dec 10 2022 21:18:13 GMT+0800
.
3.1.0 (2023-01-12)
fixes
1bd4715
] - 🐛 FIX: Add localStorage options to EggLoggers (#81) (fengmk2 <fengmk2@gmail.com>)others
804ff20
] - 📖 DOC: Update contributors (fengmk2 <fengmk2@gmail.com>)features
0d4c55d
] - 📦 NEW: [BREAKING] support asyncLocalStorage to get ctx (#80) (fengmk2 <fengmk2@gmail.com>)others
5776bad
] - Create codeql.yml (fengmk2 <fengmk2@gmail.com>)fixes
ec97edd
] - 🐛 FIX: Ignore error log after stream close on unittest env (#79) (fengmk2 <fengmk2@gmail.com>)features
493a595
] - feat: support custom concentrateLoggerName options (#78) (mansonchor.github.com <mansonchor1987@gmail.com>)features
6f7dcbb
] - feat: Only output logs in JSON file format is supported (#77) (duqingyu <1065161421@qq.com>)fixes
fe93575
] - fix: EggLoggers constructor typing (#75) (Lockonlin <531244799@qq.com>)features
f42cb95
] - feat: support performance timer for more precise milliseconds (#74) (fengmk2 <fengmk2@gmail.com>)fixes
62d724f
] - fix: remove defineProperty to improve performance (#72) (Yiyu He <dead_horse@qq.com>)fixes
0d3d4e4
] - fix: use FrameworkBaseError.isFrameworkError to judge (#71) (mansonchor.github.com <mansonchor1987@gmail.com>)features
d414828
] - feat: logger formatError should support FrameworkErrorFormater (#70) (mansonchor.github.com <mansonchor@126.com>)others
33e1e74
] - refactor: new Buffer() API refactor (#69) (mansonchor.github.com <mansonchor@126.com>)5303d31
] - test: only run tests on github actions (#68) (fengmk2 <fengmk2@gmail.com>)features
81e2328
] - feat: support console logger default level on env (#67) (lx <lix059@gmail.com>)others
f987c06
] - chore: github action (#63) (TZ | 天猪 <atian25@qq.com>)others
6fbe6c3
] - chore(typings): add concentrateError to EggLoggerOptions (#62) (scott <congyuandong@gmail.com>)a1b6c85
] - chore: update travis (#60) (TZ | 天猪 <atian25@qq.com>)fixes
d048015
] - fix: duplicate should ignore some transports (#45) (TZ | 天猪 <atian25@qq.com>)features
0cbbe47
] - feat: support contextFormatter (#51) (Haoliang Gao <sakura9515@gmail.com>)fixes
f51216b
] - fix: crash when format a getter-only error stack (#50) (Khaidi Chu <i@2333.moe>)others
858a8b4
] - chore: comments typo fix (#47) (Jeff <jeff.tian@outlook.com>)features
22cf355
] - feat: file path support relative path (#41) (TZ | 天猪 <atian25@qq.com>)others
0262ac2
] - chore: fix typo (#40) (Jeff <jeff.tian@outlook.com>)features
d578857
] - feat: support concentrateError and set default to duplicate (#38) (TZ | 天猪 <atian25@qq.com>)features
e43f70c
] - feat: redirect support options.duplicate
(#35) (TZ | 天猪 <atian25@qq.com>)others
6941e1e
] - deps: use circular-json-for-egg to remove deprecate message (#33) (Yiyu He <dead_horse@qq.com>)fixes
1f5684f
] - fix: implicit-any error for EggLoggers#set (#31) (Andy <anhans@microsoft.com>)others
7a33960
] - chore: change commemts in english (dead-horse <dead_horse@qq.com>)44bd5fa
] - chore(typings): add LoggerOptions['allowDebugAtProd']: boolean (#28) (waiting <waiting@xiaozhong.biz>)fixes
0296646
] - fix: don't write when stream is not writable (#30) (Yiyu He <dead_horse@qq.com>)others
07f3635
] - deps: pin circular-json@0.5.5, update dependencies (#29) (Yiyu He <dead_horse@qq.com>)fixes
b80560b
] - fix: use circular-json to format error properties (#26) (Yiyu He <dead_horse@qq.com>)features
faf458c
] - feat(typings): add typings for egg logger (#24) (Axes <whxaxes@qq.com>)fixes
4669bbe
] - fix: inspect use breakLength: Infinity (#23) (Yiyu He <dead_horse@qq.com>)fixes
f0bf7d9
] - fix(transport): should reload write stream when stream get error (#21) (Haoliang Gao <sakura9515@gmail.com>)FAQs
egg logger
The npm package egg-logger receives a total of 26,046 weekly downloads. As such, egg-logger popularity was classified as popular.
We found that egg-logger demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 14 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.