Socket
Socket
Sign inDemoInstall

egg-logger

Package Overview
Dependencies
Maintainers
11
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-logger - npm Package Compare versions

Comparing version 2.4.0 to 2.4.1

6

History.md
2.4.1 / 2019-03-19
==================
**fixes**
* [[`d048015`](http://github.com/eggjs/egg-logger/commit/d048015f63dde2917cb51f8f30b87a320b2d892b)] - fix: duplicate should ignore some transports (#45) (TZ | 天猪 <<atian25@qq.com>>)
2.4.0 / 2019-03-14

@@ -3,0 +9,0 @@ ==================

3

index.d.ts

@@ -77,4 +77,5 @@ interface ILoggerLevel {

* @param {Logger} logger - target logger instance
* @param {Object} [options] - { excludes: [] }
*/
duplicate(level: LoggerLevel, logger: Logger): void;
duplicate(level: LoggerLevel, logger: Logger, options?: { excludes?: string[] }): void;

@@ -81,0 +82,0 @@ /**

@@ -129,3 +129,3 @@ 'use strict';

case 'duplicate':
logger.duplicate('error', this.errorLogger);
logger.duplicate('error', this.errorLogger, { excludes: [ 'console' ] });
break;

@@ -132,0 +132,0 @@ case 'redirect':

@@ -66,6 +66,7 @@ 'use strict';

log(level, args, meta) {
let logger = this.duplicateLoggers.get(level);
let excludes;
let { logger, options } = this.duplicateLoggers.get(level) || {};
if (logger) {
// tell transport if `duplicate`
logger.log(level, args, Object.assign({}, meta, { duplicate: true }));
excludes = options.excludes;
logger.log(level, args, meta);
} else {

@@ -79,4 +80,4 @@ logger = this.redirectLoggers.get(level);

for (const transport of this.values()) {
if (transport.shouldLog(level)) {
for (const [ key, transport ] of this.entries()) {
if (transport.shouldLog(level) && !(excludes && excludes.includes(key))) {
transport.log(level, args, meta);

@@ -123,7 +124,8 @@ }

* @param {Logger} logger - target logger instance
* @param {Object} [options] - { excludes: [] }
*/
duplicate(level, logger) {
duplicate(level, logger, options = {}) {
level = level.toUpperCase();
if (!this.duplicateLoggers.has(level) && logger instanceof Logger) {
this.duplicateLoggers.set(level, logger);
this.duplicateLoggers.set(level, { logger, options });
}

@@ -130,0 +132,0 @@ }

@@ -42,5 +42,2 @@ 'use strict';

log(level, args, meta) {
// don't log to console if duplicate
if (meta && meta.duplicate) return;
const msg = super.log(level, args, meta);

@@ -47,0 +44,0 @@ if (levels[level] >= this.options.stderrLevel && levels[level] < levels['NONE']) {

{
"name": "egg-logger",
"version": "2.4.0",
"version": "2.4.1",
"description": "egg logger",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -76,4 +76,6 @@ # egg-logger

Accept an `options.excludes` to special whether excludes some tranports.
```js
logger.duplicate('error', errorLogger);
logger.duplicate('error', errorLogger, { excludes: [ 'console' ]});
logger.error(new Error('print to errorLogger')); // will additional call `errorLogger.error`

@@ -80,0 +82,0 @@ ```

@@ -75,6 +75,6 @@ # egg-logger

可以把日志复制一份到指定的日志对象
可以把日志复制一份到指定的日志对象,支持可选的 `options.excludes` 来排除对应的 tranport
```js
logger.duplicate('error', errorLogger);
logger.duplicate('error', errorLogger, { excludes: [ 'console' ] });
logger.error(new Error('print to errorLogger')); // 会多调用一次 `errorLogger.error`

@@ -81,0 +81,0 @@ ```

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc