具有不同日志级别的 log4js appender

bal*_*hna 3 log4j node.js winston log4js-node

我正在尝试创建一个记录器配置,它仅将“错误”级别信息记录到控制台,将“调试”级别信息记录到文件附加程序。任何人都可以帮助如何使用上述配置创建记录器?

提前致谢。非常感谢帮助

Leo*_*Leo 5

var log4js = require('log4js');
log4js.configure({
  appenders: {
    everything: { type: 'stdout' },
    file_log: { type: 'file', filename: 'anyPath/all-logs.log' },
    logLevelFilter: {
      type: 'logLevelFilter',
      level: 'debug',
      appender: 'file_log',
    },
  },
  categories: {
    default: {
      appenders: ['logLevelFilter', 'everything'],
      level: 'all',
    },
  },
});
const logger = log4js.getLogger();
Run Code Online (Sandbox Code Playgroud)

在此示例中,所有日志都将显示在控制台中,但仅将调试级别及更高级别添加到文件中(在此示例文件中,位于'Logs_and_others/all-the-logs.log' 中


tec*_*tie 0

对于控制台中的ERROR,可以直接使用console.log语句。对于调试,您可以将其添加到您的配置中,如下所示-

const log4js = require('log4js'); // include log4js
log4js.configure({
  appenders: { app: { type: 'file', filename: 'app.log' } },
  categories: { default: { appenders: ['app'], level: 'debug' } }
});

const logger = log4js.getLogger('app');
logger.debug('Your debug message');
Run Code Online (Sandbox Code Playgroud)

您需要在配置文件中的类别内提供级别类别。

希望这会有所帮助。