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) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return;
|
||||
}
|
||||
var explorer;
|
||||
let explorer;
|
||||
try {
|
||||
explorer = require('loopback-component-explorer');
|
||||
} catch (err) {
|
||||
// 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.
|
||||
app.once('started', function() {
|
||||
console.log(
|
||||
log(
|
||||
'Run `npm install loopback-component-explorer` to enable ' +
|
||||
'the LoopBack explorer'
|
||||
);
|
||||
@ -17,13 +21,13 @@ module.exports = function mountLoopBackExplorer(app) {
|
||||
return;
|
||||
}
|
||||
|
||||
var restApiRoot = app.get('restApiRoot');
|
||||
var mountPath = '/explorer';
|
||||
const restApiRoot = app.get('restApiRoot');
|
||||
const mountPath = '/explorer';
|
||||
|
||||
explorer(app, { basePath: restApiRoot, mountPath });
|
||||
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
|
||||
require('babel-register');
|
||||
const _ = require('lodash');
|
||||
const createDebugger = require('debug');
|
||||
|
||||
const log = createDebugger('fcc:server:production-start');
|
||||
const startTime = Date.now();
|
||||
// force logger to always output
|
||||
// this may be brittle
|
||||
log.enabled = true;
|
||||
// this is where server starts booting up
|
||||
const app = require('./server');
|
||||
|
||||
|
||||
let timeoutHandler;
|
||||
let killTime = 15;
|
||||
|
||||
const onConnect = _.once(() => {
|
||||
console.log('db connected in: %s', Date.now() - startTime);
|
||||
log('db connected in: %s', Date.now() - startTime);
|
||||
if (timeoutHandler) {
|
||||
clearTimeout(timeoutHandler);
|
||||
}
|
||||
|
@ -17,6 +17,12 @@ const boot = require('loopback-boot');
|
||||
const expressState = require('express-state');
|
||||
const path = require('path');
|
||||
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';
|
||||
const app = loopback();
|
||||
@ -38,30 +44,30 @@ boot(app, {
|
||||
setupPassport(app);
|
||||
|
||||
const { db } = app.datasources;
|
||||
db.on('connected', _.once(() => console.log('db connected')));
|
||||
db.on('connected', _.once(() => log('db connected')));
|
||||
app.start = _.once(function() {
|
||||
const server = app.listen(app.get('port'), function() {
|
||||
app.emit('started');
|
||||
console.log(
|
||||
log(
|
||||
'freeCodeCamp server listening on port %d in %s',
|
||||
app.get('port'),
|
||||
app.get('env')
|
||||
);
|
||||
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', () => {
|
||||
console.log('Shutting down server');
|
||||
log('Shutting down server');
|
||||
server.close(() => {
|
||||
console.log('Server is closed');
|
||||
log('Server is closed');
|
||||
});
|
||||
console.log('closing db connection');
|
||||
log('closing db connection');
|
||||
db.disconnect()
|
||||
.then(() => {
|
||||
console.log('DB connection closed');
|
||||
log('DB connection closed');
|
||||
// exit process
|
||||
// this may close kept alive sockets
|
||||
// eslint-disable-next-line no-process-exit
|
||||
|
Reference in New Issue
Block a user