Ver Fonte

add new logger

karl.hudgell há 4 anos atrás
pai
commit
6c463706f6
6 ficheiros alterados com 65 adições e 69 exclusões
  1. 2 0
      lib/inquirer.js
  2. 7 0
      lib/logger.js
  3. 11 0
      logger.lock
  4. 6 67
      package-lock.json
  5. 1 0
      package.json
  6. 38 2
      pages/pages.js

+ 2 - 0
lib/inquirer.js

@@ -1,6 +1,7 @@
 const inquirer = require("inquirer");
 const files = require("./files");
 const rp = require('request-promise-native')
+let logger = require('perfect-logger');
 
 let compatibleApps
 
@@ -75,6 +76,7 @@ module.exports = {
   await rp(options)
       .then(function (response) {
           compatibleApps = JSON.parse(response)
+          logger.info("Got compatilbe list")
       })
       .catch(function (err) {
         console.log('compatibleApps.json Not Found')

+ 7 - 0
lib/logger.js

@@ -0,0 +1,7 @@
+const logger = require('perfect-logger');
+
+
+module.exports = {
+  
+  },      
+}

+ 11 - 0
logger.lock

@@ -0,0 +1,11 @@
+{
+    "lastUpdatedBy": "RunTIme",
+    "FrontEndDriver": {
+        "startTime": 1588231747040,
+        "pid": 26780
+    },
+    "RunTIme": {
+        "startTime": 1588233573984,
+        "pid": 17884
+    }
+}

+ 6 - 67
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "miwatchkleaner2.0",
-  "version": "2.0.2",
+  "version": "2.0.3",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -116,11 +116,6 @@
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
     },
-    "base64-js": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz",
-      "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q="
-    },
     "bcrypt-pbkdf": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@@ -129,15 +124,6 @@
         "tweetnacl": "^0.14.3"
       }
     },
-    "bops": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/bops/-/bops-0.1.1.tgz",
-      "integrity": "sha1-Bi4CqNqoAfoQ8uXb5nQM/4Af4X4=",
-      "requires": {
-        "base64-js": "0.0.2",
-        "to-utf8": "0.0.1"
-      }
-    },
     "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -281,23 +267,6 @@
         "path-type": "^4.0.0"
       }
     },
-    "download-file": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/download-file/-/download-file-0.1.5.tgz",
-      "integrity": "sha1-ylC6ZNkJSwyHAu+f/5LSGJ4UERc=",
-      "requires": {
-        "mkdirp": "^0.5.0"
-      }
-    },
-    "download-file-with-progressbar": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/download-file-with-progressbar/-/download-file-with-progressbar-1.2.3.tgz",
-      "integrity": "sha1-he08RTtT6GcXoSGxtMJO67uS4U8=",
-      "requires": {
-        "path": "^0.12.7",
-        "request": "^2.74.0"
-      }
-    },
     "ecc-jsbn": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
@@ -982,15 +951,6 @@
       "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
       "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ=="
     },
-    "path": {
-      "version": "0.12.7",
-      "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
-      "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
-      "requires": {
-        "process": "^0.11.1",
-        "util": "^0.10.3"
-      }
-    },
     "path-is-absolute": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -1006,6 +966,11 @@
       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
       "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
     },
+    "perfect-logger": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/perfect-logger/-/perfect-logger-2.0.1.tgz",
+      "integrity": "sha512-MGjZ4KcKFJ0w2LOvO2kSILZMU2KUOESaIJnI4sJ6qAumEmrRHiJVPx088WgAYnZMnys6gFI2ZP2YbNTL308xkA=="
+    },
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
@@ -1081,11 +1046,6 @@
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
     },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
-    },
     "process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -1392,11 +1352,6 @@
         "is-number": "^7.0.0"
       }
     },
-    "to-utf8": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz",
-      "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI="
-    },
     "tough-cookie": {
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@@ -1470,14 +1425,6 @@
         "punycode": "^2.1.0"
       }
     },
-    "util": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-      "requires": {
-        "inherits": "2.0.3"
-      }
-    },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -1507,14 +1454,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
-    },
-    "zip": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/zip/-/zip-1.2.0.tgz",
-      "integrity": "sha1-rQrUImUwm+QutW/IYZThfCTmapw=",
-      "requires": {
-        "bops": "~0.1.1"
-      }
     }
   }
 }

+ 1 - 0
package.json

@@ -22,6 +22,7 @@
     "get-files-in": "^1.2.0",
     "inquirer": "^7.1.0",
     "node-downloader-helper": "^1.0.12",
+    "perfect-logger": "^2.0.1",
     "pkg": "^4.4.7",
     "request-promise-native": "^1.0.8",
     "shell-exec": "^1.0.2",

+ 38 - 2
pages/pages.js

@@ -10,20 +10,33 @@ const {
 const getFilesIn = require('get-files-in')
 const http = require('http')
 var shell = require('shelljs');
+let logger = require('perfect-logger');
 
 let adbRun
 
+logger.initialize('RunTIme', {
+    logLevelFile: 0,                    // Log level for file
+    logLevelConsole: -1,                 // Log level for STDOUT/STDERR
+    logDirectory: 'data/',              // Log directory
+});
+
 module.exports = {
     removeCompatibleApps: async () => {
         let installedAppList
         common.header('Remove Installed Apps')
+        logger.info('Remove Installed Apps')
         await shellExec(adbRun + ' shell pm list packages -3').then(async function (result) {
+            logger.info('Packages recieved from watch')
             if (result.stderr.includes('error')) {
+                logger.info(result.stderr)
                 console.log(chalk.red('Device not authorised'))
                 common.pause(3000)
                 await shellExec(adbRun + ' kill-server').then(async function (result) {
+                    logger.info('Restarting ADB')
+                    logger.info(result.stdout)
                     console.log('Please reconnect to watch')
                     common.pause(3000)
+                    logger.info('Remove Installed Apps Failed')
                     module.exports.mainMenu()
                 })
             } else {
@@ -38,19 +51,22 @@ module.exports = {
 
             for (let element of value.removeAppsList) {
                 console.log('Removing ' + element)
+                logger.info('Removing ' + element)
                 const package = element.substring(8)
                 await shellExec(adbRun + ' uninstall ' + package).then(async function (result) {
                     console.log(element + ' - ' + result.stdout);
+                    logger.info(element + ' - ' + result.stdout);
                 });
             }
-        // });
         console.log(chalk.green('Removed Selected User Apps'))
+        logger.info('Removed Selected User Apps')
         await common.pause(2000)
         module.exports.mainMenu()
             }
             })
     },
     compatibleApps: async () => {
+        logger.info("Compatible Apps")
         common.header('Install Compatible Apps')
         let compatibleApps
         let url = "http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json";
@@ -64,6 +80,7 @@ module.exports = {
             res.on("end", () => {
                 try {
                     compatibleApps = JSON.parse(body);
+                    logger.info("Compatible Apps found online")
                     // do something with JSON
                 } catch (error) {
                     console.error(error.message);
@@ -85,7 +102,9 @@ module.exports = {
                         override: true,
                     }
                     const dl = new DownloaderHelper(element2.url, './data/apps/', options);
-                    dl.on('end', () => console.log('Downloading Latest ' + element2.name + ' Complete'))
+                    dl.on('end', () => console.log('Downloading Latest ' + element2.name + ' Complete'),
+                    logger.info('Downloading Latest ' + element2.name + ' Complete')
+                    )
                     await dl.start();
                 }
             }
@@ -95,52 +114,65 @@ module.exports = {
 
         for (let element of apkList) {
             console.log('Installing ' + element)
+            logger.info('Installing ' + element)
             await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
                 console.log(element + ' - ' + result.stdout);
+                logger.info(element + ' - ' + result.stdout);
                 if (element === "data\\apps\\MoreLocale.apk") {
                     await shellExec(adbRun + ' shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION').then(function (result) {
                         console.log('moreLocale Activated On Watch');
+                        logger.info('moreLocale Activated On Watch');
                     });
                 }
             });
         }
         console.log(chalk.green('Compatible Apps Installed'))
+        logger.info('Compatible Apps Installed')
         await common.pause(2000)
         module.exports.mainMenu()
     },
     removeApps: async () => {
+        logger.info("Remove Apps")
         common.header('Remove Apps')
         const value = await inquirer.removeAppsList();
         for (let element of value.removeAppsList) {
             await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + element).then(function (result) {
+                logger.info('Removing ' + element + ' - ' + result.stdout);
                 console.log('Removing ' + element + ' - ' + result.stdout);
             });
         }
         console.log(chalk.green('Removal Complete'))
         await common.pause(2000)
+        logger.info("Remove Complete")
         module.exports.mainMenu()
     },
     restoreApps: async () => {
+        logger.info("Restore Apps")
         common.header('Restore Apps')
         const value = await inquirer.removeAppsList();
         for (let element of value.removeAppsList) {
             await shellExec(adbRun + ' shell cmd package install-existing ' + element).then(function (result) {
+                logger.info('Restoring ' + element + ' - ' + result.stdout);
                 console.log('Restoring ' + element + ' - ' + result.stdout);
             });
         }
         console.log(chalk.green('Restore Complete'))
         await common.pause(2000)
+        logger.info("Restore Apps Complete")
         module.exports.mainMenu()
     },
     connectWifi: async () => {
+        logger.info("Connect Wifi")
         const miwatchData = JSON.parse(fs.readFileSync('./data/MiWatch.json', 'utf8'));
         common.header('Connect Wifi')
         if (miwatchData.ipAddress !== "") {
             console.log('Trying to connect with stored ipAddress')
             shellExec(adbRun + ' connect ' + miwatchData.ipAddress).then(async function (result) {
+                logger.info("Connect Wifi Result " + result.stdout)
                 if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) {
                     console.log(chalk.green('MiWatch Connected'))
                     await common.pause(3000)
+                    logger.info("Connect Wifi Complete")
                     module.exports.mainMenu()
                 } else {
                     console.log(chalk.red('MiWatch not found'))
@@ -152,13 +184,16 @@ module.exports = {
                 }
             }).catch()
         } else {
+            
             const value = await inquirer.connectWifi();
             const miWatchIpaddress = value.connectWifi
             shellExec(adbRun + ' connect ' + miWatchIpaddress).then(async function (result) {
+                logger.info("Connect Wifi Result " + result.stdout)
                 if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) {
                     console.log(chalk.green('MiWatch Connected'))
                     files.writeIpAddress(miWatchIpaddress)
                     await common.pause(3000)
+                    logger.info("Connect Wifi Complete")
                     module.exports.mainMenu()
                 } else {
                     console.log(chalk.red('MiWatch not found'))
@@ -177,6 +212,7 @@ module.exports = {
         } else {
             adbRun = './adb'
         }
+        logger.info(process.platform + " detected")
         const mainMenuSelection = await inquirer.mainMenu();
         switch (mainMenuSelection.mainMenu) {
             case 'connect to miwatch via wifi':