带有 webpack 的 log4js appender

log4js appenders with webpack

Log4js 使用动态要求来加载附加程序。 Webpack 在构建时并不知道在运行时将使用哪个 appender。

如何使用不内置的附加程序?喜欢@log4js-node/logstashudp

假设您想添加一个新的附加程序(不像 tcp、文件那样内置),例如 @log4js-node/logstashudp 或任何其他附加程序。

所以代替:

log4js.configure({
  appenders: {
    udpAppender: {
      type: '@log4js-node/logstashudp',
      .....
    }
  }
})

你需要这样做:

import * as udp from '@log4js-node/logstashudp'
log4js.configure({
  appenders: {
    udpAppender: {
      type: udp,
      .....
    }
  }
})

简而言之,您应该加载您的模块并以 属性 类型发送。

因此,appender 的模块不会在运行时加载,webpack 问题已解决!