TypeScript で TCP サーバーを構築していたのですが、MaxListenersExceededWarning
のワーニングが 発生しており、原因が分からずにいました。
(node:1396) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added. Use emitter.setMaxListeners() to increase limit
発生場所を特定する方法の1つに、--trace-warning
オプションをつけて実行する方法があります。
d:\work\@node\tcpserver>node --trace-warnings build\PastDataDelete.js
(node:13644) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added. Use emitter.setMaxListeners() to increase limit
at _addListener (events.js:243:17)
at process.addListener (events.js:259:10)
at fileAppender (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\file.js:77:11)
at Object.configure (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\file.js:88:10)
at clustering.onlyOnMaster (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\index.js:59:27)
at Object.onlyOnMaster (d:\work\@node\tcpserver\node_modules\log4js\lib\clustering.js:74:50)
at createAppender (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\index.js:57:21)
at Object.keys.forEach (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\index.js:73:25)
at Array.forEach (<anonymous>)
at setup (d:\work\@node\tcpserver\node_modules\log4js\lib\appenders\index.js:71:33)
これをみると、log4js
まわりで発生しているように見えます。
私の場合の原因
私の場合は、log4js
でのログファイル定義を、ログ出力の都度行っていたことが原因でした。
const log4js = require('log4js');
log4js.configure({
appenders : {
app : {type : 'file', filename : "./log/app.log"}
},
categories : {
default : {appenders : ['app'], level: 'debug'},
}
});
const logger = log4js.getLogger('app');
これを外に出して、問題解決でした。
実践TypeScript【電子書籍】[ 吉井健文 ]
価格:3726円 (2019/7/23時点)
楽天で購入
](https://hb.afl.rakuten.co.jp/hgc/18648e8b.7d833591.18648e8c.ed1bab3c/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frakutenkobo-ebooks%2F5456816fd8833397a6aa8b80647873ad%2F%3Fscid%3Daf_pc_bbtn&m=http%3A%2F%2Fm.rakuten.co.jp%2Frakutenkobo-ebooks%2Fi%2F18341447%2F%3Fscid%3Daf_pc_bbtn&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjEsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxfQ==)
コメント