Skip to content

Commit a4bc2d2

Browse files
CopilotneSpeccgithub-actions[bot]
authored
chore(devops): add Morgan request logger middleware for HTTP logging (#535)
* Initial plan * Add morgan request logger middleware Co-authored-by: neSpecc <3684889+neSpecc@users.noreply.github.com> * Bump version up to 1.1.40 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: neSpecc <3684889+neSpecc@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent d48eec8 commit a4bc2d2

File tree

3 files changed

+55
-7
lines changed

3 files changed

+55
-7
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hawk.api",
3-
"version": "1.1.39",
3+
"version": "1.1.40",
44
"main": "index.ts",
55
"license": "BUSL-1.1",
66
"scripts": {
@@ -21,6 +21,7 @@
2121
"devDependencies": {
2222
"@shelf/jest-mongodb": "^1.2.2",
2323
"@types/jest": "^26.0.8",
24+
"@types/morgan": "^1.9.10",
2425
"eslint": "^6.7.2",
2526
"eslint-config-codex": "1.2.4",
2627
"eslint-plugin-import": "^2.19.1",
@@ -78,6 +79,7 @@
7879
"migrate-mongo": "^7.0.1",
7980
"mime-types": "^2.1.25",
8081
"mongodb": "^3.7.3",
82+
"morgan": "^1.10.1",
8183
"safe-regex": "^2.1.0",
8284
"ts-node-dev": "^2.0.0",
8385
"uuid": "^8.3.2"

src/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import PlansFactory from './models/plansFactory';
2626
import BusinessOperationsFactory from './models/businessOperationsFactory';
2727
import schema from './schema';
2828
import { graphqlUploadExpress } from 'graphql-upload';
29+
import morgan from 'morgan';
2930

3031
/**
3132
* Option to enable playground
@@ -77,6 +78,14 @@ class HawkAPI {
7778
res.setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers');
7879
next();
7980
});
81+
82+
/**
83+
* Setup request logger.
84+
* Uses 'combined' format in production for Apache-style logging,
85+
* and 'dev' format in development for colored, concise output.
86+
*/
87+
this.app.use(morgan(process.env.NODE_ENV === 'production' ? 'combined' : 'dev'));
88+
8089
this.app.use(express.json());
8190
this.app.use(bodyParser.urlencoded({ extended: false }));
8291
this.app.use('/static', express.static(`./static`));

yarn.lock

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,13 @@
11241124
"@types/bson" "*"
11251125
"@types/node" "*"
11261126

1127+
"@types/morgan@^1.9.10":
1128+
version "1.9.10"
1129+
resolved "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.9.10.tgz#725c15d95a5e6150237524cd713bc2d68f9edf1a"
1130+
integrity sha512-sS4A1zheMvsADRVfT0lYbJ4S9lmsey8Zo2F7cnbYjWHP67Q0AwMYuuzLlkIM2N8gAbb9cubhIVFwcIN2XyYCkA==
1131+
dependencies:
1132+
"@types/node" "*"
1133+
11271134
"@types/ms@*":
11281135
version "0.7.31"
11291136
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
@@ -1762,6 +1769,13 @@ base@^0.11.1:
17621769
mixin-deep "^1.2.0"
17631770
pascalcase "^0.1.1"
17641771

1772+
basic-auth@~2.0.1:
1773+
version "2.0.1"
1774+
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
1775+
integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
1776+
dependencies:
1777+
safe-buffer "5.1.2"
1778+
17651779
binary-extensions@^2.0.0:
17661780
version "2.2.0"
17671781
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
@@ -2443,7 +2457,7 @@ denque@^1.4.1:
24432457
resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
24442458
integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
24452459

2446-
depd@2.0.0:
2460+
depd@2.0.0, depd@~2.0.0:
24472461
version "2.0.0"
24482462
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
24492463
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
@@ -4999,6 +5013,17 @@ mongodb@^3.7.3:
49995013
optionalDependencies:
50005014
saslprep "^1.0.0"
50015015

5016+
morgan@^1.10.1:
5017+
version "1.10.1"
5018+
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.1.tgz#4e02e6a4465a48e26af540191593955d17f61570"
5019+
integrity sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==
5020+
dependencies:
5021+
basic-auth "~2.0.1"
5022+
debug "2.6.9"
5023+
depd "~2.0.0"
5024+
on-finished "~2.3.0"
5025+
on-headers "~1.1.0"
5026+
50025027
ms@2.0.0:
50035028
version "2.0.0"
50045029
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -5252,6 +5277,18 @@ on-finished@2.4.1:
52525277
dependencies:
52535278
ee-first "1.1.1"
52545279

5280+
on-finished@~2.3.0:
5281+
version "2.3.0"
5282+
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
5283+
integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
5284+
dependencies:
5285+
ee-first "1.1.1"
5286+
5287+
on-headers@~1.1.0:
5288+
version "1.1.0"
5289+
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65"
5290+
integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
5291+
52555292
once@^1.3.0, once@^1.3.1, once@^1.4.0:
52565293
version "1.4.0"
52575294
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -5830,16 +5867,16 @@ rxjs@^6.6.0:
58305867
dependencies:
58315868
tslib "^1.9.0"
58325869

5870+
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@~5.1.2:
5871+
version "5.1.2"
5872+
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
5873+
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
5874+
58335875
safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
58345876
version "5.2.1"
58355877
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
58365878
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
58375879

5838-
safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@~5.1.2:
5839-
version "5.1.2"
5840-
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
5841-
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
5842-
58435880
safe-regex@^1.1.0:
58445881
version "1.1.0"
58455882
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"

0 commit comments

Comments
 (0)