summaryrefslogtreecommitdiffstats
path: root/front/odiparpack/server/logger.js
diff options
context:
space:
mode:
Diffstat (limited to 'front/odiparpack/server/logger.js')
-rw-r--r--front/odiparpack/server/logger.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/front/odiparpack/server/logger.js b/front/odiparpack/server/logger.js
new file mode 100644
index 0000000..ab80126
--- /dev/null
+++ b/front/odiparpack/server/logger.js
@@ -0,0 +1,39 @@
+/* eslint-disable no-console */
+
+const chalk = require('chalk');
+const ip = require('ip');
+
+const divider = chalk.gray('\n-----------------------------------');
+
+/**
+ * Logger middleware, you can customize it to make messages more personal
+ */
+const logger = {
+ // Called whenever there's an error on the server we want to print
+ error: err => {
+ console.error(chalk.red(err));
+ },
+
+ // Called when express.js app starts on given port w/o errors
+ appStarted: (port, host, tunnelStarted) => {
+ console.log(`Server started ! ${chalk.green('✓')}`);
+
+ // If the tunnel started, log that and the URL it's available at
+ if (tunnelStarted) {
+ console.log(`Tunnel initialised ${chalk.green('✓')}`);
+ }
+
+ console.log(`
+${chalk.bold('Access URLs:')}${divider}
+Localhost: ${chalk.magenta(`http://${host}:${port}`)}
+ LAN: ${chalk.magenta(`http://${ip.address()}:${port}`) +
+ (tunnelStarted
+ ? `\n Proxy: ${chalk.magenta(tunnelStarted)}`
+ : '')}${divider}
+${chalk.blue(`Press ${chalk.italic('CTRL-C')} to stop`)}
+${chalk('Webpack is building script...')}
+ `);
+ },
+};
+
+module.exports = logger;