Skip to content

Commit 1dcc097

Browse files
authored
fix(desktop): suppress EPIPE errors in console transport (anomalyco#25980)
1 parent 068f199 commit 1dcc097

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

packages/desktop/src/main/logging.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const TAIL_LINES = 1000
77

88
export function initLogging() {
99
log.transports.file.maxSize = 5 * 1024 * 1024
10+
initConsoleTransport()
1011
cleanup()
1112
return log
1213
}
@@ -38,3 +39,19 @@ function cleanup() {
3839
}
3940
}
4041
}
42+
43+
function initConsoleTransport() {
44+
const write = log.transports.console.writeFn.bind(log.transports.console)
45+
log.transports.console.writeFn = (options) => {
46+
try {
47+
write(options)
48+
} catch (err) {
49+
if (!isBrokenPipe(err)) throw err
50+
log.transports.console.level = false
51+
}
52+
}
53+
}
54+
55+
function isBrokenPipe(err: unknown) {
56+
return typeof err === "object" && err !== null && "code" in err && err.code === "EPIPE"
57+
}

0 commit comments

Comments
 (0)