feat: Add optional http logging in production (#2183)
* feat: Add optional http logging in production closes #2174 * Update app.js
This commit is contained in:
parent
f517a2cecb
commit
5c7f2cf164
|
@ -101,7 +101,7 @@ MAXIMUM_IMPORT_SIZE=5120000
|
||||||
|
|
||||||
# You may enable or disable debugging categories to increase the noisiness of
|
# You may enable or disable debugging categories to increase the noisiness of
|
||||||
# logs. The default is a good balance
|
# 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
|
# 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
|
# set, all domains are allowed by default when using Google OAuth to signin
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
"koa-convert": "1.2.0",
|
"koa-convert": "1.2.0",
|
||||||
"koa-helmet": "5.2.0",
|
"koa-helmet": "5.2.0",
|
||||||
"koa-jwt": "^3.6.0",
|
"koa-jwt": "^3.6.0",
|
||||||
"koa-logger": "^2.0.1",
|
"koa-logger": "^3.2.1",
|
||||||
"koa-mount": "^3.0.0",
|
"koa-mount": "^3.0.0",
|
||||||
"koa-onerror": "^4.0.0",
|
"koa-onerror": "^4.0.0",
|
||||||
"koa-router": "7.0.1",
|
"koa-router": "7.0.1",
|
||||||
|
@ -231,4 +231,4 @@
|
||||||
"js-yaml": "^3.13.1"
|
"js-yaml": "^3.13.1"
|
||||||
},
|
},
|
||||||
"version": "0.56.0"
|
"version": "0.56.0"
|
||||||
}
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
// @flow
|
// @flow
|
||||||
import * as Sentry from "@sentry/node";
|
import * as Sentry from "@sentry/node";
|
||||||
|
import debug from "debug";
|
||||||
import Koa from "koa";
|
import Koa from "koa";
|
||||||
import compress from "koa-compress";
|
import compress from "koa-compress";
|
||||||
import helmet, {
|
import helmet, {
|
||||||
|
@ -21,6 +22,7 @@ import updates from "./utils/updates";
|
||||||
const app = new Koa();
|
const app = new Koa();
|
||||||
const isProduction = process.env.NODE_ENV === "production";
|
const isProduction = process.env.NODE_ENV === "production";
|
||||||
const isTest = process.env.NODE_ENV === "test";
|
const isTest = process.env.NODE_ENV === "test";
|
||||||
|
const log = debug("http");
|
||||||
|
|
||||||
// Construct scripts CSP based on services in use by this installation
|
// Construct scripts CSP based on services in use by this installation
|
||||||
const defaultSrc = ["'self'"];
|
const defaultSrc = ["'self'"];
|
||||||
|
@ -105,11 +107,16 @@ if (isProduction) {
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
app.use(logger());
|
|
||||||
|
|
||||||
app.use(mount("/emails", emails));
|
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
|
// catch errors in one place, automatically set status and response headers
|
||||||
onerror(app);
|
onerror(app);
|
||||||
|
|
||||||
|
|
19
yarn.lock
19
yarn.lock
|
@ -3401,12 +3401,7 @@ busboy@^0.2.11:
|
||||||
dicer "0.2.5"
|
dicer "0.2.5"
|
||||||
readable-stream "1.1.x"
|
readable-stream "1.1.x"
|
||||||
|
|
||||||
bytes@1:
|
bytes@3.1.0, bytes@^3.1.0:
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"
|
|
||||||
integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=
|
|
||||||
|
|
||||||
bytes@3.1.0:
|
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
||||||
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
|
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
|
||||||
|
@ -8062,13 +8057,13 @@ koa-jwt@^3.6.0:
|
||||||
koa-unless "1.0.7"
|
koa-unless "1.0.7"
|
||||||
p-any "1.1.0"
|
p-any "1.1.0"
|
||||||
|
|
||||||
koa-logger@^2.0.1:
|
koa-logger@^3.2.1:
|
||||||
version "2.0.1"
|
version "3.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-2.0.1.tgz#3ee42f457c40fb4d4a19a131c8022504b5b232b8"
|
resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-3.2.1.tgz#ab9db879526db3837cc9ce4fd983c025b1689f22"
|
||||||
integrity sha1-PuQvRXxA+01KGaExyAIlBLWyMrg=
|
integrity sha512-MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg==
|
||||||
dependencies:
|
dependencies:
|
||||||
bytes "1"
|
bytes "^3.1.0"
|
||||||
chalk "^1.1.3"
|
chalk "^2.4.2"
|
||||||
humanize-number "0.0.2"
|
humanize-number "0.0.2"
|
||||||
passthrough-counter "^1.0.0"
|
passthrough-counter "^1.0.0"
|
||||||
|
|
||||||
|
|
Reference in New Issue