server: Log incoming requests on finish
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded
This commit is contained in:
parent
fbf2f5958c
commit
4560d20b04
2 changed files with 28 additions and 1 deletions
|
@ -7,6 +7,33 @@ export function run(http, orgPort, ctx) {
|
||||||
let packageInfo = JSON.parse(readFileSync(packagePath))
|
let packageInfo = JSON.parse(readFileSync(packagePath))
|
||||||
|
|
||||||
const server = http.createServer(function (req, res) {
|
const server = http.createServer(function (req, res) {
|
||||||
|
let finishedRequest = false
|
||||||
|
var done = function () {
|
||||||
|
if (finishedRequest) return
|
||||||
|
finishedRequest = true
|
||||||
|
|
||||||
|
let level = 'debug'
|
||||||
|
if (res.statusCode >= 400) {
|
||||||
|
level = 'warn'
|
||||||
|
}
|
||||||
|
if (res.statusCode >= 500) {
|
||||||
|
level = 'error'
|
||||||
|
}
|
||||||
|
|
||||||
|
let status = ''
|
||||||
|
if (res.statusCode >= 400) {
|
||||||
|
status = res.statusCode + ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.log[level]({
|
||||||
|
duration: requestTime,
|
||||||
|
status: res.statusCode,
|
||||||
|
}, `<-- ${status}${req.method} ${req.url}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
res.addListener('finish', done);
|
||||||
|
res.addListener('close', done);
|
||||||
|
|
||||||
res.writeHead(200);
|
res.writeHead(200);
|
||||||
res.write(JSON.stringify(packageInfo, null, ' '))
|
res.write(JSON.stringify(packageInfo, null, ' '))
|
||||||
res.end()
|
res.end()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "sc-helloworld",
|
"name": "sc-helloworld",
|
||||||
"version": "2.0.2",
|
"version": "2.0.3",
|
||||||
"description": "Hello World app for service core",
|
"description": "Hello World app for service core",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Loading…
Reference in a new issue