diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 4656c8196..4f3cfdb32 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.30.1", + "version": "2.30.2", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/handler/judge.ts b/packages/hydrooj/src/handler/judge.ts index f74a64d13..592ed3902 100644 --- a/packages/hydrooj/src/handler/judge.ts +++ b/packages/hydrooj/src/handler/judge.ts @@ -157,7 +157,7 @@ class JudgeConnectionHandler extends ConnectionHandler { } async message(msg) { - if (msg.key !== 'ping') logger.info('%o', msg); + if (msg.key !== 'ping') logger[['status', 'next'].includes(msg.key) ? 'debug' : 'info']('%o', msg); if (msg.key === 'next') await next(msg); else if (msg.key === 'end') { await end({ judger: this.user._id, ...msg }).catch((e) => logger.error(e)); diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index c0b3ae472..0cf054f97 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -42,6 +42,11 @@ const logger = new Logger('server'); export const app = new Koa(); export const server = http.createServer(app.callback()); export const router = new Router(); +app.on('error', (error) => { + if (error.code !== 'EPIPE' && error.code !== 'ECONNRESET' && !error.message.includes('Parse Error')) { + logger.error('Koa app-level error', { error }); + } +}); type MethodDecorator = (target: any, name: string, obj: any) => any; type Converter = (value: any) => any;