[READ-ONLY] Mirror of https://github.com/probablykasper/yt-email-notifier. macOS menubar app for YouTube upload notification emails
email menubar notifications tray youtube
0

Configure Feed

Select the types of activity you want to include in your feed.

Switched logger

Kasper (Aug 27, 2020, 11:41 PM +0200) 12f944a5 8f4c2233

+114 -202
+83 -186
package-lock.json
··· 97 97 "regenerator-runtime": "^0.13.4" 98 98 } 99 99 }, 100 - "@dabh/diagnostics": { 101 - "version": "2.0.2", 102 - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", 103 - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", 104 - "requires": { 105 - "colorspace": "1.1.x", 106 - "enabled": "2.0.x", 107 - "kuler": "^2.0.0" 108 - } 109 - }, 110 100 "@hapi/address": { 111 101 "version": "4.1.0", 112 102 "resolved": "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz", ··· 566 556 "supports-color": "^7.1.0" 567 557 } 568 558 }, 569 - "color": { 570 - "version": "3.0.0", 571 - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", 572 - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", 573 - "requires": { 574 - "color-convert": "^1.9.1", 575 - "color-string": "^1.5.2" 576 - }, 577 - "dependencies": { 578 - "color-convert": { 579 - "version": "1.9.3", 580 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 581 - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 582 - "requires": { 583 - "color-name": "1.1.3" 584 - } 585 - }, 586 - "color-name": { 587 - "version": "1.1.3", 588 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 589 - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 590 - } 591 - } 592 - }, 593 559 "color-convert": { 594 560 "version": "2.0.1", 595 561 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ··· 602 568 "color-name": { 603 569 "version": "1.1.4", 604 570 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 605 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 606 - }, 607 - "color-string": { 608 - "version": "1.5.3", 609 - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", 610 - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", 611 - "requires": { 612 - "color-name": "^1.0.0", 613 - "simple-swizzle": "^0.2.2" 614 - } 615 - }, 616 - "colors": { 617 - "version": "1.4.0", 618 - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 619 - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" 620 - }, 621 - "colorspace": { 622 - "version": "1.1.2", 623 - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", 624 - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", 625 - "requires": { 626 - "color": "3.0.x", 627 - "text-hex": "1.0.x" 628 - } 571 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 572 + "dev": true 629 573 }, 630 574 "combined-stream": { 631 575 "version": "1.0.8", ··· 701 645 "core-util-is": { 702 646 "version": "1.0.2", 703 647 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 704 - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 648 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 649 + "dev": true 705 650 }, 706 651 "crc": { 707 652 "version": "3.8.0", ··· 754 699 "requires": { 755 700 "assert-plus": "^1.0.0" 756 701 } 702 + }, 703 + "date-format": { 704 + "version": "3.0.0", 705 + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", 706 + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==" 757 707 }, 758 708 "debug": { 759 709 "version": "3.2.6", ··· 862 812 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 863 813 "dev": true 864 814 }, 865 - "enabled": { 866 - "version": "2.0.0", 867 - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", 868 - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" 869 - }, 870 815 "encode-utf8": { 871 816 "version": "1.0.3", 872 817 "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", ··· 1237 1182 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1238 1183 "dev": true 1239 1184 }, 1240 - "fast-safe-stringify": { 1241 - "version": "2.0.7", 1242 - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", 1243 - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" 1244 - }, 1245 1185 "fastq": { 1246 1186 "version": "1.8.0", 1247 1187 "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", ··· 1250 1190 "requires": { 1251 1191 "reusify": "^1.0.4" 1252 1192 } 1253 - }, 1254 - "fecha": { 1255 - "version": "4.2.0", 1256 - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", 1257 - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" 1258 1193 }, 1259 1194 "file-entry-cache": { 1260 1195 "version": "5.0.1", ··· 1317 1252 "flatted": { 1318 1253 "version": "2.0.2", 1319 1254 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 1320 - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 1321 - "dev": true 1255 + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" 1322 1256 }, 1323 1257 "fmix": { 1324 1258 "version": "0.1.0", ··· 1328 1262 "requires": { 1329 1263 "imul": "^1.0.0" 1330 1264 } 1331 - }, 1332 - "fn.name": { 1333 - "version": "1.1.0", 1334 - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", 1335 - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" 1336 1265 }, 1337 1266 "forever-agent": { 1338 1267 "version": "0.6.1", ··· 1376 1305 "version": "8.1.0", 1377 1306 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 1378 1307 "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 1379 - "dev": true, 1380 1308 "requires": { 1381 1309 "graceful-fs": "^4.2.0", 1382 1310 "jsonfile": "^4.0.0", ··· 1615 1543 "p-is-promise": "^3.0.0" 1616 1544 } 1617 1545 }, 1618 - "is-arrayish": { 1619 - "version": "0.3.2", 1620 - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 1621 - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 1622 - }, 1623 1546 "is-extglob": { 1624 1547 "version": "2.1.1", 1625 1548 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ··· 1687 1610 "isarray": { 1688 1611 "version": "1.0.0", 1689 1612 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1690 - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1613 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1614 + "dev": true 1691 1615 }, 1692 1616 "isexe": { 1693 1617 "version": "2.0.0", ··· 1764 1688 "version": "4.0.0", 1765 1689 "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1766 1690 "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1767 - "dev": true, 1768 1691 "requires": { 1769 1692 "graceful-fs": "^4.1.6" 1770 1693 } ··· 1793 1716 "verror": "1.10.0" 1794 1717 } 1795 1718 }, 1796 - "kuler": { 1797 - "version": "2.0.0", 1798 - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", 1799 - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" 1800 - }, 1801 1719 "lazystream": { 1802 1720 "version": "1.0.0", 1803 1721 "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", ··· 1853 1771 "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", 1854 1772 "dev": true 1855 1773 }, 1856 - "logform": { 1857 - "version": "2.2.0", 1858 - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", 1859 - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", 1774 + "log4js": { 1775 + "version": "6.3.0", 1776 + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", 1777 + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", 1860 1778 "requires": { 1861 - "colors": "^1.2.1", 1862 - "fast-safe-stringify": "^2.0.4", 1863 - "fecha": "^4.2.0", 1864 - "ms": "^2.1.1", 1865 - "triple-beam": "^1.3.0" 1779 + "date-format": "^3.0.0", 1780 + "debug": "^4.1.1", 1781 + "flatted": "^2.0.1", 1782 + "rfdc": "^1.1.4", 1783 + "streamroller": "^2.2.4" 1784 + }, 1785 + "dependencies": { 1786 + "debug": { 1787 + "version": "4.1.1", 1788 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 1789 + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 1790 + "requires": { 1791 + "ms": "^2.1.1" 1792 + } 1793 + } 1866 1794 } 1867 1795 }, 1868 1796 "macos-alias": { ··· 2030 1958 "wrappy": "1" 2031 1959 } 2032 1960 }, 2033 - "one-time": { 2034 - "version": "1.0.0", 2035 - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", 2036 - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", 2037 - "requires": { 2038 - "fn.name": "1.x.x" 2039 - } 2040 - }, 2041 1961 "opener": { 2042 1962 "version": "1.5.1", 2043 1963 "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", ··· 2075 1995 "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", 2076 1996 "dev": true 2077 1997 }, 1998 + "p-limit": { 1999 + "version": "3.0.2", 2000 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", 2001 + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", 2002 + "requires": { 2003 + "p-try": "^2.0.0" 2004 + } 2005 + }, 2006 + "p-try": { 2007 + "version": "2.2.0", 2008 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2009 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 2010 + }, 2078 2011 "parent-module": { 2079 2012 "version": "1.0.1", 2080 2013 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", ··· 2213 2146 "process-nextick-args": { 2214 2147 "version": "2.0.1", 2215 2148 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 2216 - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 2149 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 2150 + "dev": true 2217 2151 }, 2218 2152 "progress": { 2219 2153 "version": "2.0.3", ··· 2298 2232 "version": "2.3.7", 2299 2233 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 2300 2234 "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 2235 + "dev": true, 2301 2236 "requires": { 2302 2237 "core-util-is": "~1.0.0", 2303 2238 "inherits": "~2.0.3", ··· 2393 2328 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2394 2329 "dev": true 2395 2330 }, 2331 + "rfdc": { 2332 + "version": "1.1.4", 2333 + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", 2334 + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" 2335 + }, 2396 2336 "rimraf": { 2397 2337 "version": "2.6.3", 2398 2338 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", ··· 2411 2351 "safe-buffer": { 2412 2352 "version": "5.1.2", 2413 2353 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2414 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 2354 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2355 + "dev": true 2415 2356 }, 2416 2357 "safer-buffer": { 2417 2358 "version": "2.1.2", ··· 2514 2455 "plist": "^3.0.1" 2515 2456 } 2516 2457 }, 2517 - "simple-swizzle": { 2518 - "version": "0.2.2", 2519 - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 2520 - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", 2521 - "requires": { 2522 - "is-arrayish": "^0.3.1" 2523 - } 2524 - }, 2525 2458 "slash": { 2526 2459 "version": "3.0.0", 2527 2460 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ··· 2595 2528 "tweetnacl": "~0.14.0" 2596 2529 } 2597 2530 }, 2598 - "stack-trace": { 2599 - "version": "0.0.10", 2600 - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 2601 - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" 2602 - }, 2603 2531 "statuses": { 2604 2532 "version": "1.5.0", 2605 2533 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", ··· 2620 2548 "readable-stream": "^2.1.4" 2621 2549 } 2622 2550 }, 2551 + "streamroller": { 2552 + "version": "2.2.4", 2553 + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", 2554 + "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", 2555 + "requires": { 2556 + "date-format": "^2.1.0", 2557 + "debug": "^4.1.1", 2558 + "fs-extra": "^8.1.0" 2559 + }, 2560 + "dependencies": { 2561 + "date-format": { 2562 + "version": "2.1.0", 2563 + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", 2564 + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==" 2565 + }, 2566 + "debug": { 2567 + "version": "4.1.1", 2568 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 2569 + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 2570 + "requires": { 2571 + "ms": "^2.1.1" 2572 + } 2573 + } 2574 + } 2575 + }, 2623 2576 "string-width": { 2624 2577 "version": "3.1.0", 2625 2578 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", ··· 2652 2605 "version": "1.1.1", 2653 2606 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2654 2607 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2608 + "dev": true, 2655 2609 "requires": { 2656 2610 "safe-buffer": "~5.1.0" 2657 2611 } ··· 2757 2711 } 2758 2712 } 2759 2713 } 2760 - }, 2761 - "text-hex": { 2762 - "version": "1.0.0", 2763 - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", 2764 - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" 2765 2714 }, 2766 2715 "text-table": { 2767 2716 "version": "0.2.0", ··· 2808 2757 "punycode": "^2.1.1" 2809 2758 } 2810 2759 }, 2811 - "triple-beam": { 2812 - "version": "1.3.0", 2813 - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", 2814 - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" 2815 - }, 2816 2760 "tunnel-agent": { 2817 2761 "version": "0.6.0", 2818 2762 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", ··· 2883 2827 "universalify": { 2884 2828 "version": "0.1.2", 2885 2829 "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2886 - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 2887 - "dev": true 2830 + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 2888 2831 }, 2889 2832 "unorm": { 2890 2833 "version": "1.6.0", ··· 2914 2857 "util-deprecate": { 2915 2858 "version": "1.0.2", 2916 2859 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2917 - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2860 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2861 + "dev": true 2918 2862 }, 2919 2863 "utils-merge": { 2920 2864 "version": "1.0.1", ··· 2957 2901 "version": "1.2.4", 2958 2902 "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz", 2959 2903 "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs=" 2960 - }, 2961 - "winston": { 2962 - "version": "3.3.3", 2963 - "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", 2964 - "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", 2965 - "requires": { 2966 - "@dabh/diagnostics": "^2.0.2", 2967 - "async": "^3.1.0", 2968 - "is-stream": "^2.0.0", 2969 - "logform": "^2.2.0", 2970 - "one-time": "^1.0.0", 2971 - "readable-stream": "^3.4.0", 2972 - "stack-trace": "0.0.x", 2973 - "triple-beam": "^1.3.0", 2974 - "winston-transport": "^4.4.0" 2975 - }, 2976 - "dependencies": { 2977 - "async": { 2978 - "version": "3.2.0", 2979 - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", 2980 - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" 2981 - }, 2982 - "is-stream": { 2983 - "version": "2.0.0", 2984 - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 2985 - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" 2986 - }, 2987 - "readable-stream": { 2988 - "version": "3.6.0", 2989 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2990 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2991 - "requires": { 2992 - "inherits": "^2.0.3", 2993 - "string_decoder": "^1.1.1", 2994 - "util-deprecate": "^1.0.1" 2995 - } 2996 - } 2997 - } 2998 - }, 2999 - "winston-transport": { 3000 - "version": "4.4.0", 3001 - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", 3002 - "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", 3003 - "requires": { 3004 - "readable-stream": "^2.3.7", 3005 - "triple-beam": "^1.2.0" 3006 - } 3007 2904 }, 3008 2905 "word-wrap": { 3009 2906 "version": "1.2.3",
+2 -1
package.json
··· 31 31 "auto-launch": "^5.0.5", 32 32 "body-parser": "^1.19.0", 33 33 "connect": "^3.7.0", 34 + "log4js": "^6.3.0", 34 35 "node-fetch": "^2.6.0", 35 36 "opener": "^1.5.1", 37 + "p-limit": "^3.0.2", 36 38 "serve-static": "^1.14.1", 37 39 "systray": "^1.0.5", 38 - "winston": "^3.3.3", 39 40 "ws": "^7.3.1" 40 41 }, 41 42 "devDependencies": {
+29 -15
src/logger.js
··· 1 - const winston = require('winston') 2 - 3 - const paths = require('./paths') 4 - 5 - module.exports = winston.createLogger({ 6 - level: 'info', 7 - format: winston.format.json(), 8 - transports: [ 9 - new winston.transports.File({ filename: paths.logfileErr, level: 'error' }), 10 - new winston.transports.File({ filename: paths.logfile }), 11 - ], 12 - }) 1 + const log4js = require('log4js') 13 2 3 + const config = { 4 + appenders: { 5 + everything: { 6 + type: 'file', 7 + filename: 'appfiles/everything.log', 8 + layout: { type: 'pattern', pattern: '%d{yyyy-MM-dd hh:mm:ss} %p %m' }, 9 + }, 10 + console: { 11 + type: 'stdout', 12 + layout: { type: 'pattern', pattern: '%[%d{yyyy-MM-dd hh:mm:ss} %p%] %m' }, 13 + }, 14 + bad: { 15 + type: 'file', 16 + filename: 'appfiles/bad.log', 17 + layout: { type: 'pattern', pattern: '%d{yyyy-MM-dd hh:mm:ss} %p %m' }, 18 + }, 19 + badFilter: { type: 'logLevelFilter', appender: 'bad', level: 'warn' }, 20 + }, 21 + categories: { 22 + default: { appenders: ['badFilter', 'everything'], level: 'debug' }, 23 + }, 24 + } 14 25 if (process.env.APP_ENV === 'dev') { 15 - module.exports.add(new winston.transports.Console({ 16 - format: winston.format.simple(), 17 - })) 26 + config.categories.default.appenders.push('console') 18 27 } 28 + log4js.configure(config) 29 + 30 + const logger = log4js.getLogger() 31 + 32 + module.exports = logger