feat(server): Use debug for prettier logs
This commit is contained in:
committed by
mrugesh mohapatra
parent
020a25bb4f
commit
52529a99b1
@ -1,15 +1,19 @@
|
|||||||
|
const createDebugger = require('debug');
|
||||||
|
|
||||||
|
const log = createDebugger('fcc:boot:explorer');
|
||||||
|
|
||||||
module.exports = function mountLoopBackExplorer(app) {
|
module.exports = function mountLoopBackExplorer(app) {
|
||||||
if (process.env.NODE_ENV === 'production') {
|
if (process.env.NODE_ENV === 'production') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var explorer;
|
let explorer;
|
||||||
try {
|
try {
|
||||||
explorer = require('loopback-component-explorer');
|
explorer = require('loopback-component-explorer');
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Print the message only when the app was started via `app.listen()`.
|
// Print the message only when the app was started via `app.listen()`.
|
||||||
// Do not print any message when the project is used as a component.
|
// Do not print any message when the project is used as a component.
|
||||||
app.once('started', function() {
|
app.once('started', function() {
|
||||||
console.log(
|
log(
|
||||||
'Run `npm install loopback-component-explorer` to enable ' +
|
'Run `npm install loopback-component-explorer` to enable ' +
|
||||||
'the LoopBack explorer'
|
'the LoopBack explorer'
|
||||||
);
|
);
|
||||||
@ -17,13 +21,13 @@ module.exports = function mountLoopBackExplorer(app) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var restApiRoot = app.get('restApiRoot');
|
const restApiRoot = app.get('restApiRoot');
|
||||||
var mountPath = '/explorer';
|
const mountPath = '/explorer';
|
||||||
|
|
||||||
explorer(app, { basePath: restApiRoot, mountPath });
|
explorer(app, { basePath: restApiRoot, mountPath });
|
||||||
app.once('started', function() {
|
app.once('started', function() {
|
||||||
var baseUrl = app.get('url').replace(/\/$/, '');
|
const baseUrl = app.get('url').replace(/\/$/, '');
|
||||||
|
|
||||||
console.log('Browse your REST API at %s%s', baseUrl, mountPath);
|
log('Browse your REST API at %s%s', baseUrl, mountPath);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
// this ensures node understands the future
|
// this ensures node understands the future
|
||||||
require('babel-register');
|
require('babel-register');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
|
const createDebugger = require('debug');
|
||||||
|
|
||||||
|
const log = createDebugger('fcc:server:production-start');
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
|
// force logger to always output
|
||||||
|
// this may be brittle
|
||||||
|
log.enabled = true;
|
||||||
// this is where server starts booting up
|
// this is where server starts booting up
|
||||||
const app = require('./server');
|
const app = require('./server');
|
||||||
|
|
||||||
|
|
||||||
let timeoutHandler;
|
let timeoutHandler;
|
||||||
let killTime = 15;
|
let killTime = 15;
|
||||||
|
|
||||||
const onConnect = _.once(() => {
|
const onConnect = _.once(() => {
|
||||||
console.log('db connected in: %s', Date.now() - startTime);
|
log('db connected in: %s', Date.now() - startTime);
|
||||||
if (timeoutHandler) {
|
if (timeoutHandler) {
|
||||||
clearTimeout(timeoutHandler);
|
clearTimeout(timeoutHandler);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,12 @@ const boot = require('loopback-boot');
|
|||||||
const expressState = require('express-state');
|
const expressState = require('express-state');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const setupPassport = require('./component-passport');
|
const setupPassport = require('./component-passport');
|
||||||
|
const createDebugger = require('debug');
|
||||||
|
|
||||||
|
const log = createDebugger('fcc:server');
|
||||||
|
// force logger to always output
|
||||||
|
// this may be brittle
|
||||||
|
log.enabled = true;
|
||||||
|
|
||||||
Rx.config.longStackSupport = process.env.NODE_DEBUG !== 'production';
|
Rx.config.longStackSupport = process.env.NODE_DEBUG !== 'production';
|
||||||
const app = loopback();
|
const app = loopback();
|
||||||
@ -38,30 +44,30 @@ boot(app, {
|
|||||||
setupPassport(app);
|
setupPassport(app);
|
||||||
|
|
||||||
const { db } = app.datasources;
|
const { db } = app.datasources;
|
||||||
db.on('connected', _.once(() => console.log('db connected')));
|
db.on('connected', _.once(() => log('db connected')));
|
||||||
app.start = _.once(function() {
|
app.start = _.once(function() {
|
||||||
const server = app.listen(app.get('port'), function() {
|
const server = app.listen(app.get('port'), function() {
|
||||||
app.emit('started');
|
app.emit('started');
|
||||||
console.log(
|
log(
|
||||||
'freeCodeCamp server listening on port %d in %s',
|
'freeCodeCamp server listening on port %d in %s',
|
||||||
app.get('port'),
|
app.get('port'),
|
||||||
app.get('env')
|
app.get('env')
|
||||||
);
|
);
|
||||||
if (isBeta) {
|
if (isBeta) {
|
||||||
console.log('freeCodeCamp is in beta mode');
|
log('freeCodeCamp is in beta mode');
|
||||||
}
|
}
|
||||||
console.log(`connecting to db at ${db.settings.url}`);
|
log(`connecting to db at ${db.settings.url}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
process.on('SIGINT', () => {
|
process.on('SIGINT', () => {
|
||||||
console.log('Shutting down server');
|
log('Shutting down server');
|
||||||
server.close(() => {
|
server.close(() => {
|
||||||
console.log('Server is closed');
|
log('Server is closed');
|
||||||
});
|
});
|
||||||
console.log('closing db connection');
|
log('closing db connection');
|
||||||
db.disconnect()
|
db.disconnect()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log('DB connection closed');
|
log('DB connection closed');
|
||||||
// exit process
|
// exit process
|
||||||
// this may close kept alive sockets
|
// this may close kept alive sockets
|
||||||
// eslint-disable-next-line no-process-exit
|
// eslint-disable-next-line no-process-exit
|
||||||
|
Reference in New Issue
Block a user