aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-11-19 19:52:56 -0500
committerSam Wilkins <samwilkins333@gmail.com>2019-11-19 19:52:56 -0500
commit9a72d65baaa293fa84592de9bc43d555b5cae319 (patch)
tree0a10d4a6c10094546a6f27be88d75e6143d4148b /src
parent7347f1eb7320e5e95f87c64b3222e4b4c1593be5 (diff)
logging
Diffstat (limited to 'src')
-rw-r--r--src/Utils.ts5
-rw-r--r--src/server/ActionUtilities.ts31
-rw-r--r--src/server/Initialization.ts8
-rw-r--r--src/server/Websocket/Websocket.ts12
-rw-r--r--src/server/index.ts12
5 files changed, 55 insertions, 13 deletions
diff --git a/src/Utils.ts b/src/Utils.ts
index 13d1be767..891a3826b 100644
--- a/src/Utils.ts
+++ b/src/Utils.ts
@@ -2,6 +2,7 @@ import v4 = require('uuid/v4');
import v5 = require("uuid/v5");
import { Socket } from 'socket.io';
import { Message } from './server/Message';
+import { EventEmitter } from 'events';
export namespace Utils {
@@ -238,6 +239,10 @@ export namespace Utils {
handler([arg, loggingCallback('S sending', fn, message.Name)]);
});
}
+
+ export function InjectLogger() {
+
+ }
}
export function OmitKeys(obj: any, keys: string[], addKeyFunc?: (dup: any) => void): { omit: any, extract: any } {
diff --git a/src/server/ActionUtilities.ts b/src/server/ActionUtilities.ts
index b418772a6..5e88ea460 100644
--- a/src/server/ActionUtilities.ts
+++ b/src/server/ActionUtilities.ts
@@ -27,8 +27,31 @@ export const write_text_file = (relativePath: string, contents: any) => {
});
};
-export async function log_execution(startMessage: string, endMessage: string, contents: () => void | Promise<void>) {
- console.log('\x1b[36m%s\x1b[0m', `${startMessage}...`);
- await contents();
- console.log(endMessage);
+export interface LogData {
+ startMessage: string;
+ endMessage: string;
+ action: () => void | Promise<void>;
+}
+
+export async function log_execution({ startMessage, endMessage, action }: LogData) {
+ const color = `\x1b[${30 + Math.ceil(Math.random() * 6)}m%s\x1b[0m`;
+ console.log(color, `${startMessage}...`);
+ await action();
+ console.log(color, endMessage);
+}
+
+export enum ConsoleColors {
+ Black = `\x1b[30m%s\x1b[0m`,
+ Red = `\x1b[31m%s\x1b[0m`,
+ Green = `\x1b[32m%s\x1b[0m`,
+ Yellow = `\x1b[33m%s\x1b[0m`,
+ Blue = `\x1b[34m%s\x1b[0m`,
+ Magenta = `\x1b[35m%s\x1b[0m`,
+ Cyan = `\x1b[36m%s\x1b[0m`,
+ White = `\x1b[37m%s\x1b[0m`
+}
+
+export function logPort(listener: string, port: number) {
+ process.stdout.write(`${listener} listening on port `);
+ console.log(ConsoleColors.Yellow, port);
} \ No newline at end of file
diff --git a/src/server/Initialization.ts b/src/server/Initialization.ts
index 6ac0787c5..357d7837e 100644
--- a/src/server/Initialization.ts
+++ b/src/server/Initialization.ts
@@ -19,6 +19,7 @@ import * as fs from 'fs';
import * as request from 'request';
import RouteSubscriber from './RouteSubscriber';
import { publicDirectory } from '.';
+import { ConsoleColors, logPort } from './ActionUtilities';
/* RouteSetter is a wrapper around the server that prevents the server
from being exposed. */
@@ -35,6 +36,11 @@ export default async function InitializeServer(options: InitializationOptions) {
server.use(express.static(publicDirectory));
server.use("/images", express.static(publicDirectory));
+ server.use("*", (req, _res, next) => {
+ console.log(ConsoleColors.Cyan, req.originalUrl, req.user.id);
+ next();
+ });
+
server.use(wdm(compiler, { publicPath: config.output.publicPath }));
server.use(whm(compiler));
@@ -44,7 +50,7 @@ export default async function InitializeServer(options: InitializationOptions) {
const isRelease = determineEnvironment(); //vs. dev mode
routeSetter(new RouteManager(server, isRelease));
- server.listen(listenAtPort, () => console.log(`server started at http://localhost:${listenAtPort}`));
+ server.listen(listenAtPort, () => logPort("server", listenAtPort));
return isRelease;
}
diff --git a/src/server/Websocket/Websocket.ts b/src/server/Websocket/Websocket.ts
index f6a6c8718..810b3410c 100644
--- a/src/server/Websocket/Websocket.ts
+++ b/src/server/Websocket/Websocket.ts
@@ -6,9 +6,9 @@ import { Database } from "../database";
import { Search } from "../Search";
import * as io from 'socket.io';
import YoutubeApi from "../apis/youtube/youtubeApiSample";
-import { readFile } from "fs";
-import { Credentials } from "google-auth-library";
import { GoogleCredentialsLoader } from "../credentials/CredentialsLoader";
+import { ConsoleColors, logPort } from "../ActionUtilities";
+import { EventEmitter } from "events";
export namespace WebSocket {
@@ -28,10 +28,10 @@ export namespace WebSocket {
async function preliminaryFunctions() {
}
- export function initialize(serverPort: number, isRelease: boolean) {
+ export function initialize(socketPort: number, isRelease: boolean) {
const endpoint = io();
- endpoint.listen(serverPort);
- console.log(`listening on port ${serverPort}`);
+ endpoint.listen(socketPort);
+ logPort("websocket", socketPort);
endpoint.on("connection", function (socket: Socket) {
socket.use((_packet, next) => {
@@ -92,7 +92,7 @@ export namespace WebSocket {
function barReceived(socket: SocketIO.Socket, guid: string) {
clients[guid] = new Client(guid.toString());
- console.log(`User ${guid} has connected`);
+ console.log(ConsoleColors.Green, `User ${guid} has connected`);
socketMap.set(socket, guid);
}
diff --git a/src/server/index.ts b/src/server/index.ts
index 01ebf0ac1..618940c1a 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -43,7 +43,11 @@ async function preliminaryFunctions() {
// divide the public directory based on type
await Promise.all(Object.keys(Partitions).map(partition => DashUploadUtils.createIfNotExists(filesDirectory + partition)));
// connect to the database
- await Database.tryInitializeConnection();
+ await log_execution({
+ startMessage: "attempting to initialize mongodb connection",
+ endMessage: "connection outcome determined",
+ action: Database.tryInitializeConnection
+ });
}
/**
@@ -106,6 +110,10 @@ function routeSetter(router: RouteManager) {
}
(async function start() {
- await log_execution("starting execution of preliminary functions", "completed preliminary functions", preliminaryFunctions);
+ await log_execution({
+ startMessage: "starting execution of preliminary functions",
+ endMessage: "completed preliminary functions",
+ action: preliminaryFunctions
+ });
await initializeServer({ listenAtPort: 1050, routeSetter });
})();