Skip to content

Commit da95960

Browse files
author
Rahman Malik
committed
refactor to use morgan for server logs
1 parent 6573b75 commit da95960

File tree

3 files changed

+66
-89
lines changed

3 files changed

+66
-89
lines changed

index.js

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,14 @@ const { createSecureServer } = require("http2");
22
const { readFileSync } = require("fs");
33
const { join } = require("path");
44
const Koa = require("koa");
5-
const logger = require("koa-logger");
5+
const morgan = require("koa-morgan");
66
const Router = require("koa-router");
77
const rotatingFileStream = require("rotating-file-stream");
88

99
const PORT = process.env.PORT || 8443;
1010

11-
const accessLogStream = rotatingFileStream(
12-
`access.log`,
13-
{
14-
interval: `1d`, //rotate daily
15-
path: join(__dirname, `log`)
16-
}
17-
);
11+
const accessLogStream = getLogStream(`access.log`);
12+
const errorLogStream = getLogStream(`error.log`);
1813

1914
const serverOptions = {
2015
key: readFileSync(`${__dirname}/ssl/selfsigned.key`),
@@ -25,30 +20,37 @@ const app = new Koa();
2520
const router = new Router();
2621

2722
router.get("/", (ctx, next, ...args) => {
28-
console.log("#get /");
2923
// ctx.router available
3024
ctx.body = "hellooo";
3125
});
3226

3327
app
34-
.use(logger({
35-
transporter: (str, args) => {
36-
if (args.status < 400) {
37-
process.stdout.write(str);
38-
} else {
39-
process.stderr.write(str);
40-
}
41-
process.stdout.write(`\n`);
42-
43-
accessLogStream.write(str);
44-
accessLogStream.write(`\n`);
45-
}
28+
.use(morgan(`dev`, {
29+
skip: (req, res) => res.statusCode < 400
30+
}))
31+
.use(morgan(`common`, {
32+
stream: accessLogStream
33+
}))
34+
.use(morgan(`combined`, {
35+
stream: errorLogStream,
36+
skip: (req, res) => res.statusCode < 400
4637
}))
4738
.use(router.routes())
4839
.use(router.allowedMethods());
4940

41+
console.info(`Starting server @${PORT}`);
42+
5043
createSecureServer(serverOptions, app.callback())
5144
.listen(PORT);
5245

5346

47+
function getLogStream (outputFilename) {
48+
return rotatingFileStream(
49+
outputFilename,
50+
{
51+
interval: `1d`, //rotate daily
52+
path: join(__dirname, `log`)
53+
}
54+
);
55+
}
5456

package-lock.json

Lines changed: 42 additions & 67 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"homepage": "https://github.com/or9/daily-coding-challenge-server#readme",
2323
"dependencies": {
2424
"koa": "^2.7.0",
25-
"koa-logger": "^3.2.0",
25+
"koa-morgan": "^1.0.1",
2626
"koa-router": "^7.4.0",
2727
"rotating-file-stream": "^1.4.1"
2828
},

0 commit comments

Comments
 (0)