Skip to content

Commit aaacc50

Browse files
committed
Auto merge of #1908 - kzys:fastboot-log, r=jtgeibel
Emit Heroku-like logs from the Fastboot server This change adds Heroku-like logs from the Fastboot server, as we discussed in #1811.
2 parents 50b75b3 + 5ebd4bc commit aaacc50

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

Diff for: .prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist/

Diff for: fastboot.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ const FastBootAppServer = require('fastboot-app-server');
1010
// because fastboot-app-server uses cluster, but it might change in future
1111
const cluster = require('cluster');
1212

13+
const morgan = require('morgan');
14+
1315
class LoggerWithoutTimestamp {
1416
constructor() {
1517
this.prefix = cluster.isMaster ? 'master' : 'worker';
@@ -44,16 +46,25 @@ function writeAppInitializedWhenReady(logger) {
4446
}
4547

4648
var logger = new LoggerWithoutTimestamp();
47-
4849
logger.writeLine(`${os.cpus().length} cores available`);
4950

5051
let workerCount = process.env.WEB_CONCURRENCY || 1;
52+
let logRequests = morgan(
53+
'at=info method=:method path=":url" ' +
54+
'request_id=:req[x-request-id] ' +
55+
'fwd=":req[x-real-ip]" ' +
56+
'user_agent=":req[user-agent]"',
57+
);
5158

5259
let server = new FastBootAppServer({
5360
distPath: 'dist',
5461
port: 9000,
5562
ui: logger,
5663
workerCount: workerCount,
64+
65+
// afterMiddleware won't be called since Fastboot's middleware
66+
// doesn't call next().
67+
beforeMiddleware: app => app.use(logRequests),
5768
});
5869

5970
if (!cluster.isWorker) {

Diff for: package-lock.json

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"lint:hbs": "ember-template-lint app/templates",
2121
"lint:js": "eslint . --cache",
2222
"lint:deps": "ember dependency-lint",
23-
"prettier": "prettier --write '{app,tests,mirage}/**/*.js'",
23+
"prettier": "prettier --write '**/*.js'",
2424
"start": "./script/ember.sh serve",
2525
"start:live": "./script/ember.sh serve --proxy https://crates.io",
2626
"start:local": "./script/ember.sh serve --proxy http://127.0.0.1:8888",
@@ -100,6 +100,7 @@
100100
"trailingComma": "all"
101101
},
102102
"dependencies": {
103-
"fastboot-app-server": "^2.0.0"
103+
"fastboot-app-server": "^2.0.0",
104+
"morgan": "^1.9.1"
104105
}
105106
}

0 commit comments

Comments
 (0)