Colorize console message ouputs
[e-mobility-charging-stations-simulator.git] / src / utils / FileUtils.ts
index 8edbb4c5ec0b2f79ed3d0c4f7adf7005f742a08f..0120d7a1aea9b856f5ab9281250f8c120a039eb1 100644 (file)
@@ -1,3 +1,4 @@
+import chalk from 'chalk';
 import logger from './Logger';
 
 export default class FileUtils {
@@ -5,15 +6,27 @@ export default class FileUtils {
     const prefix = logPrefix.length !== 0 ? logPrefix + ' ' : '';
     if (error.code === 'ENOENT') {
       if (consoleOut) {
-        console.error(prefix + fileType + ' file ' + filePath + ' not found: ', error);
+        console.warn(chalk.yellow(prefix + fileType + ' file ' + filePath + ' not found: '), error);
       } else {
-        logger.error(prefix + fileType + ' file ' + filePath + ' not found: %j', error);
+        logger.warn(prefix + fileType + ' file ' + filePath + ' not found: %j', error);
+      }
+    } else if (error.code === 'EEXIST') {
+      if (consoleOut) {
+        console.warn(chalk.yellow(prefix + fileType + ' file ' + filePath + ' already exists: '), error);
+      } else {
+        logger.warn(prefix + fileType + ' file ' + filePath + ' already exists: %j', error);
+      }
+    } else if (error.code === 'EACCES') {
+      if (consoleOut) {
+        console.warn(chalk.yellow(prefix + fileType + ' file ' + filePath + ' access denied: '), error);
+      } else {
+        logger.warn(prefix + fileType + ' file ' + filePath + ' access denied: %j', error);
       }
     } else {
       if (consoleOut) {
-        console.error(prefix + fileType + ' file ' + filePath + ' opening error: ', error);
+        console.error(chalk.yellow(prefix + fileType + ' file ' + filePath + ' error: '), error);
       } else {
-        logger.error(prefix + fileType + ' file ' + filePath + ' opening error: %j', error);
+        logger.error(prefix + fileType + ' file ' + filePath + ' error: %j', error);
       }
       throw error;
     }