Category Filter

严格来说,这不是一个 appender - 它将另一个 appender 包裹起来,并阻止将来自特定类别的日志事件写入该 appender。这在调试应用程序时可能很有用,但是您有一个组件会发出嘈杂的日志,或者与您的调查无关。

配置

  • type - "categoryFilter"
  • exclude - string | Array<string> - 将从 appender 中排除的类别(如果提供的是数组,则为类别列表)。
  • appender - string - 要筛选的 appender 的名称。

例子

log4js.configure({
  appenders: {
    everything: { type: "file", filename: "all-the-logs.log" },
    "no-noise": {
      type: "categoryFilter",
      exclude: "noisy.component",
      appender: "everything"
    }
  },
  categories: {
    default: { appenders: ["no-noise"], level: "debug" }
  }
});

const logger = log4js.getLogger();
const noisyLogger = log4js.getLogger("noisy.component");
logger.debug("I will be logged in all-the-logs.log");
noisyLogger.debug("I will not be logged.");

注意,您可以在不使用类别过滤器的情况下实现相同的结果,如下所示:

log4js.configure({
  appenders: {
    everything: { type: "file", filename: "all-the-logs.log" }
  },
  categories: {
    default: { appenders: ["everything"], level: "debug" },
    "noisy.component": { appenders: ["everything"], level: "off" }
  }
});

const logger = log4js.getLogger();
const noisyLogger = log4js.getLogger("noisy.component");
logger.debug("I will be logged in all-the-logs.log");
noisyLogger.debug("I will not be logged.");

当您有许多要排除的类别时,类别筛选器将变得非常有用,并将它们作为数组传递。

results matching ""

    No results matching ""