v2.0.0์ ์ฌ์ฉํด ๋ณด์ธ์. ๊ทธ๋ฌ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ์ธ์ ์์ฒญํฉ๋๋ค.
์์คํด v1.0.2๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ ๋ก๊ทธ๋ฅผ ๋ง๋ฌ์ต๋๋ค.
์ด๋ค ํด๊ฒฐ์ฑ
์ด ์์ต๋๊น?
transports: [
new winston.transports.Console({
level:debug,
colorize: 'true'
}),
new (winston.transports.DailyRotateFile)({
datePattern: '.yyyy-MM-dd',
filename: path.join(__dirname, '../logs/chat.error'),
handleExceptions: true,
prettyPrint: true,
level: error,
timestamp: 'true'
//maxsize: 500000000 //byte
})
]
(node) warning: possible EventEmitter memory leak detected. 11 logged listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at addListener (events.js:239:17)
at once (events.js:265:8)
at Transport.logException (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\transports\transport.js:132:8)
at logAndWait (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\logger.js:646:15)
at c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:157:13
at _each (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:57:9)
at Object.async.each (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:156:9)
at Logger._uncaughtException (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\logger.js:669:9)
at emitOne (events.js:77:13)
at process.emit (events.js:169:7)
[email protected]
์ ๋ํด ์คํ ์ค์ธ ์ ํํ ์ฝ๋๋ฅผ ์ ๊ณตํ์ญ์์ค. _winston.transports.DailyRotateFile์ด 2.0.0_์์ winston-daily-rotate-file ๋ก ์ด๋๋์๊ธฐ ๋๋ฌธ์ ์์ ์ฝ๋ ์ํ์ด ์ ํํ ์คํ ์ค์ธ ๊ฒ์ธ์ง ์์ฌ์ค๋ฝ์ต๋๋ค.
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์์ ํ 1.x
๋ถ๊ธฐ์ ์๋ ค์ง ๋ฌธ์ ์์ต๋๋ค. [email protected]์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ญ์์ค(์ ์ฒด ์ฌํ ๊ฐ๋ฅํ ์ฝ๋ ์ํ ํฌํจ).
์ด๊ฒ์ด ์ฌ์ ํ ๋ฐ์ํ๋๋ผ๋ ์ค์ ๋ก๋ ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ๋ค์์ ์คํํ ์ ์์ต๋๋ค.
logger.setMaxListeners(0);
๊ทธ๋ฌ๋ฉด ํ์คํ ํด๊ฒฐ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ [email protected]
์ ํจ๊ป ์๋ํ๋๋ก bithavoc/express-winston ์ ์
๋ฐ์ดํธํ๋๋ฐ ์ด ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ต๋๊ฐ์ ๋ฌดํ๋๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ฐธ๊ณ ๋ก ์ ๋ ์ด ๋ฌธ์ ์ ๋ถ๋ช์ณค์ต๋๋ค. ์ฒ๋ฆฌ๋์ง ์์ ์์ธ ์์ ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์์ต๋๋ค. ๋ฆฌ์ค๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด .exceptions.unhandle()
๋ก๊ฑฐ์์ ํธ์ถํด์ผ ํ๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ์ ๋ง๋ก ๋ ์ ๋ฌธ์ํ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ๋๋ ์ด ํธ์ถ์ ์ฐพ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์
์
์ด ๋ค์ก๋ค. (์ฌ์ค ๋๋ ์ด ํธ์ถ์ ๊ฐ๋ฆฌํค๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํธ์ถ์ ์ฐพ์์ง๋ง, ๋น์ถ์ฒ ๋ก๊ทธ ํ
์คํธ์ ์ฒ ์๊ฐ ํ๋ ธ๋ค).
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฐธ๊ณ ๋ก ์ ๋ ์ด ๋ฌธ์ ์ ๋ถ๋ช์ณค์ต๋๋ค. ์ฒ๋ฆฌ๋์ง ์์ ์์ธ ์์ ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์์ต๋๋ค. ๋ฆฌ์ค๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด
.exceptions.unhandle()
๋ก๊ฑฐ์์ ํธ์ถํด์ผ ํ๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ์ ๋ง๋ก ๋ ์ ๋ฌธ์ํ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ๋๋ ์ด ํธ์ถ์ ์ฐพ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ ์ ์ด ๋ค์ก๋ค. (์ฌ์ค ๋๋ ์ด ํธ์ถ์ ๊ฐ๋ฆฌํค๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํธ์ถ์ ์ฐพ์์ง๋ง, ๋น์ถ์ฒ ๋ก๊ทธ ํ ์คํธ์ ์ฒ ์๊ฐ ํ๋ ธ๋ค).