From e52974fc113f96d1da8a36ffc563bb739cb58848 Mon Sep 17 00:00:00 2001 From: plane000 Date: Wed, 5 Sep 2018 17:57:37 +0100 Subject: [PATCH] Logging is more verbose --- logs.log | 44 +++++++++++++++++++++ src/app.js | 3 +- src/models/database/sqlite/database.sqlite | Bin 28672 -> 28672 bytes src/models/logger.js | 19 +++++++++ 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 logs.log diff --git a/logs.log b/logs.log new file mode 100644 index 0000000..11d290e --- /dev/null +++ b/logs.log @@ -0,0 +1,44 @@ +[SYSTEM STARTING UP] +[2018-9-5 17:52:08] [INFO] Loading config +[2018-9-5 17:52:08] [INFO] LOADED: src/config/configs/server.json +[2018-9-5 17:52:08] [INFO] LOADED: src/config/configs/database.json +[2018-9-5 17:52:08] [INFO] Config loaded +[2018-9-5 17:52:08] [INFO] Connecting to SQLite Database +[2018-9-5 17:52:08] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `user` (`id` BIGINT UNIQUE PRIMARY KEY, `username` TEXT, `password` TEXT, `email` TEXT, `ip` TEXT, `lastupdated` TEXT, `verified` TINYINT(1), `authcode` TEXT, `timeauthed` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`) +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`) +[2018-9-5 17:52:08] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `auth` (`id` BIGINT UNIQUE PRIMARY KEY, `token` TEXT, `passhash` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`) +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`) +[2018-9-5 17:52:08] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `permanotes` (`uid` BIGINT UNIQUE PRIMARY KEY, `endpoint` TEXT, `text` TEXT, `creatorid` BIGINT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanotes`) +[2018-9-5 17:52:08] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanotes_1`) +[2018-9-5 17:52:08] [INFO] Connected to SQLite Database +[2018-9-5 17:52:08] [INFO] Server created +[2018-9-5 17:52:08] [INFO] HTTP service is listening at port 8080 +[2018-9-5 17:52:08] [INFO] Setting up API HTTP endpoints +[2018-9-5 17:52:08] [INFO] HTTP endpoints settup +[2018-9-5 17:52:08] [INFO] Initialized ratelimiting middleware +[2018-9-5 17:52:08] [READY] +[SYSTEM STARTING UP] +[2018-9-5 17:56:31] [INFO] Loading config +[2018-9-5 17:56:31] [INFO] LOADED: src/config/configs/server.json +[2018-9-5 17:56:31] [INFO] LOADED: src/config/configs/database.json +[2018-9-5 17:56:31] [INFO] Config loaded +[2018-9-5 17:56:31] [INFO] Connecting to SQLite Database +[2018-9-5 17:56:31] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `user` (`id` BIGINT UNIQUE PRIMARY KEY, `username` TEXT, `password` TEXT, `email` TEXT, `ip` TEXT, `lastupdated` TEXT, `verified` TINYINT(1), `authcode` TEXT, `timeauthed` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`) +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`) +[2018-9-5 17:56:31] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `auth` (`id` BIGINT UNIQUE PRIMARY KEY, `token` TEXT, `passhash` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`) +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`) +[2018-9-5 17:56:31] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `permanotes` (`uid` BIGINT UNIQUE PRIMARY KEY, `endpoint` TEXT, `text` TEXT, `creatorid` BIGINT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanotes`) +[2018-9-5 17:56:31] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanotes_1`) +[2018-9-5 17:56:31] [INFO] Connected to SQLite Database +[2018-9-5 17:56:31] [INFO] Server created +[2018-9-5 17:56:31] [INFO] HTTP service is listening at port 8080 +[2018-9-5 17:56:31] [INFO] Setting up API HTTP endpoints +[2018-9-5 17:56:31] [INFO] HTTP endpoints settup +[2018-9-5 17:56:31] [INFO] Initialized ratelimiting middleware +[2018-9-5 17:56:31] [READY] diff --git a/src/app.js b/src/app.js index c22fe65..cab6d6a 100644 --- a/src/app.js +++ b/src/app.js @@ -9,6 +9,7 @@ import {User} from './models/user/user'; init(); async function init() { + Logger.init('logs.log'); Logger.SetLevel(Logger.VERBOSE_LOGS); Logger.SetDialect('SQLITE'); @@ -20,8 +21,6 @@ async function init() { await MiddleWare.RateLimits.init(); Logger.ready(); - - // Logger.debug(JSON.stringify(await Database.users.getUserByID(12341356), null, 4)); // Logger.debug(JSON.stringify(await Database.users.listAll(), null, 4)); diff --git a/src/models/database/sqlite/database.sqlite b/src/models/database/sqlite/database.sqlite index fee526b281cc498893d37f0d52867a6b4bdd79fc..1e5ff4870769512f31ba7e3cb09b3833499d814b 100644 GIT binary patch delta 269 zcmZp8z}WDBae_1>*F+g-My`zsOZ@p*c`h;V8}l9I{lTlvb7`}nzyY56a8`C!SxE*@ zPsY?$U4>D8&Y`905di^_`3gxz`9=nY7PNL6slEXhkPE_N@PEEiX9U}gnEMtTND##oI; zm)-m$mWPRtmH!k2|2O{E{15oA@}Jr)sIY^7@`HSKexNT{xtLiQfgS?d$^sNq0008< BNl*X) delta 60 zcmV-C0K@-)-~oW(0gxL32$38^0SK{Rq)!S14fp^LGY-WK__GlZ>J78_T?_&W0}tQ; S5B3l158$&AAkq($;BO#ixD_%0 diff --git a/src/models/logger.js b/src/models/logger.js index 60b4d29..eb20690 100644 --- a/src/models/logger.js +++ b/src/models/logger.js @@ -1,9 +1,20 @@ const colours = require('colors/safe'); +const fs = require('fs'); let LogLevel = 1; let Dialect = 'SQLITE'; +let logPath = 'logs.log'; export class Logger { + static init(path) { + if (path) logPath = path; + + if (!fs.existsSync(logPath)) { + fs.writeFileSync(logPath, ''); + } + fs.appendFileSync(logPath, '[SYSTEM STARTING UP] \n'); + } + static SetLevel(level) { LogLevel = level; } @@ -20,6 +31,7 @@ export class Logger { static database(message) { if (LogLevel > 0) return; let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [${Dialect}] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.magenta(Dialect) + '] ' + message); } @@ -27,6 +39,7 @@ export class Logger { static middleware(message) { if (LogLevel > 0) return; let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [HTTP-MIDDLEWARE] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.blue('HTTP-MIDDLEWARE') + '] ' + message); } @@ -34,12 +47,14 @@ export class Logger { static debug(message) { if (LogLevel > 1) return; let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [DEBUG] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.cyan('DEBUG') + '] ' + message); } static ready() { let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [READY] \n`); console.log('[' + d.toLocaleString() + '] [' + colours.rainbow('READY') + ']'); } @@ -47,6 +62,7 @@ export class Logger { static info(message) { if (LogLevel > 2) return; let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [INFO] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.green('INFO') + '] ' + message); } @@ -54,18 +70,21 @@ export class Logger { static warn(message) { if (LogLevel > 3) return; let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [WARN] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.yellow('WARN') + '] ' + message); } static error(message) { let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [ERROR] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.red('ERROR') + '] ' + message); } static panic(message) { let d = new Date(); + fs.appendFileSync(logPath, `[${d.toLocaleString()}] [PANIC] ${message} \n`); console.log('[' + d.toLocaleString() + '] [' + colours.red('PANIC') + '] ' + message); process.exit();