diff --git a/.env.sample b/.env.sample index 55d9ccb6..bf307b69 100644 --- a/.env.sample +++ b/.env.sample @@ -101,7 +101,7 @@ MAXIMUM_IMPORT_SIZE=5120000 # You may enable or disable debugging categories to increase the noisiness of # logs. The default is a good balance -DEBUG=cache,presenters,events,emails,mailer,utils,multiplayer,server,services +DEBUG=cache,presenters,events,emails,mailer,utils,http,server,services # Comma separated list of domains to be allowed to signin to the wiki. If not # set, all domains are allowed by default when using Google OAuth to signin diff --git a/package.json b/package.json index e970cafc..ec0d38cd 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,7 @@ "koa-convert": "1.2.0", "koa-helmet": "5.2.0", "koa-jwt": "^3.6.0", - "koa-logger": "^2.0.1", + "koa-logger": "^3.2.1", "koa-mount": "^3.0.0", "koa-onerror": "^4.0.0", "koa-router": "7.0.1", @@ -231,4 +231,4 @@ "js-yaml": "^3.13.1" }, "version": "0.56.0" -} +} \ No newline at end of file diff --git a/server/app.js b/server/app.js index 8f7631e9..4ab9c943 100644 --- a/server/app.js +++ b/server/app.js @@ -1,5 +1,6 @@ // @flow import * as Sentry from "@sentry/node"; +import debug from "debug"; import Koa from "koa"; import compress from "koa-compress"; import helmet, { @@ -21,6 +22,7 @@ import updates from "./utils/updates"; const app = new Koa(); const isProduction = process.env.NODE_ENV === "production"; const isTest = process.env.NODE_ENV === "test"; +const log = debug("http"); // Construct scripts CSP based on services in use by this installation const defaultSrc = ["'self'"]; @@ -105,11 +107,16 @@ if (isProduction) { }) ) ); - app.use(logger()); - app.use(mount("/emails", emails)); } +// redirect routing logger to optional "http" debug +app.use( + logger((str, args) => { + log(str); + }) +); + // catch errors in one place, automatically set status and response headers onerror(app); diff --git a/yarn.lock b/yarn.lock index 1c511a7c..8a26b5e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3401,12 +3401,7 @@ busboy@^0.2.11: dicer "0.2.5" readable-stream "1.1.x" -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= - -bytes@3.1.0: +bytes@3.1.0, bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== @@ -8062,13 +8057,13 @@ koa-jwt@^3.6.0: koa-unless "1.0.7" p-any "1.1.0" -koa-logger@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-2.0.1.tgz#3ee42f457c40fb4d4a19a131c8022504b5b232b8" - integrity sha1-PuQvRXxA+01KGaExyAIlBLWyMrg= +koa-logger@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-3.2.1.tgz#ab9db879526db3837cc9ce4fd983c025b1689f22" + integrity sha512-MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg== dependencies: - bytes "1" - chalk "^1.1.3" + bytes "^3.1.0" + chalk "^2.4.2" humanize-number "0.0.2" passthrough-counter "^1.0.0"