Skip to content

Commit 891a1ad

Browse files
committed
feat(logs): regex to remove ANSI escape in redis
1 parent dd6f70f commit 891a1ad

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/realms/rest/emitter.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,22 @@ export const emitterMessage = Type.Union(
9191

9292
export type EmitterMessage = Static<typeof emitterMessage>
9393

94+
// eslint-disable-next-line no-control-regex
95+
const ANSI_ESCAPE = /\x1b\[[0-9;]*m/g;
96+
97+
function removeAnsiColorCodes(str: string):string {
98+
return str.replace(ANSI_ESCAPE, "");
99+
}
100+
94101
export const prepareRedisListeners = () => {
95102
const redisSubscriptionClient = new RedisClient()
96103
redisSubscriptionClient.client.subscribe("emitter")
97104
redisSubscriptionClient.client.on("message", (channel, message) => {
98105
if (channel === "emitter") {
99106
const body = JSON.parse(message.toString()) as EmitterMessage
107+
if (body.type === "serverLog") {
108+
body.payload.message = removeAnsiColorCodes(body.payload.message)
109+
}
100110
emitter.emit(body.type, body.payload)
101111
}
102112
})

0 commit comments

Comments
 (0)