From 8cfe1627c654b605d8c3090a531896af9ff19918 Mon Sep 17 00:00:00 2001 From: Cocoa <0xbbc@0xbbc.com> Date: Sat, 9 May 2020 04:20:49 +0800 Subject: [PATCH] Only detects ANSI color codes for data in string type Signed-off-by: Cocoa <0xbbc@0xbbc.com> --- lib/appenders/file.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/appenders/file.js b/lib/appenders/file.js index 040dc8ee..9b00326f 100644 --- a/lib/appenders/file.js +++ b/lib/appenders/file.js @@ -56,7 +56,10 @@ function fileAppender(file, layout, logSize, numBackups, options, timezoneOffset if (options.removeColor === true) { // eslint-disable-next-line no-control-regex const regex = /\x1b[[0-9;]*m/g; - loggingEvent.data = loggingEvent.data.map(d => d.replace(regex, '')) + loggingEvent.data = loggingEvent.data.map(d => { + if (typeof d === 'string') return d.replace(regex, '') + else return d + }) } if (!writer.write(layout(loggingEvent, timezoneOffset) + eol, "utf8")) { process.emit('log4js:pause', true);