Revert "Improving log messages"

This commit is contained in:
David Négrier 2021-11-24 16:20:07 +01:00 committed by GitHub
parent 6c5f330b71
commit 6e6cdc7bde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 203 additions and 581 deletions

View file

@ -7,7 +7,6 @@ import {
WorldFullWarningToRoomMessage,
RefreshRoomPromptMessage,
} from "../Messages/generated/messages_pb";
import log from "../Services/Logger";
export class AdminController extends BaseController {
constructor(private App: TemplatedApp) {
@ -26,14 +25,14 @@ export class AdminController extends BaseController {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.post("/room/refresh", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
const token = req.getHeader("admin-token");
const body = await res.json();
if (token !== ADMIN_API_TOKEN) {
log.error("Admin access refused for token: " + token);
console.error("Admin access refused for token: " + token);
res.writeStatus("401 Unauthorized").end("Incorrect token");
return;
}
@ -73,14 +72,14 @@ export class AdminController extends BaseController {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.post("/message", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
const token = req.getHeader("admin-token");
const body = await res.json();
if (token !== ADMIN_API_TOKEN) {
log.error("Admin access refused for token: " + token);
console.error("Admin access refused for token: " + token);
res.writeStatus("401 Unauthorized").end("Incorrect token");
return;
}

View file

@ -6,7 +6,6 @@ import { AuthTokenData, jwtTokenManager } from "../Services/JWTTokenManager";
import { parse } from "query-string";
import { openIDClient } from "../Services/OpenIDClient";
import { DISABLE_ANONYMOUS } from "../Enum/EnvironmentVariable";
import log from "../Services/Logger";
export interface TokenInterface {
userUuid: string;
@ -26,7 +25,7 @@ export class AuthenticateController extends BaseController {
//eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.get("/login-screen", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
try {
@ -45,7 +44,7 @@ export class AuthenticateController extends BaseController {
res.writeHeader("Location", loginUri);
return res.end();
} catch (e) {
log.error("openIDLogin => e", e);
console.error("openIDLogin => e", e);
return this.errorToResponse(e, res);
}
});
@ -55,7 +54,7 @@ export class AuthenticateController extends BaseController {
//eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.get("/login-callback", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
const IPAddress = req.getHeader("x-forwarded-for");
const { code, nonce, token, playUri } = parse(req.getQuery());
@ -89,7 +88,7 @@ export class AuthenticateController extends BaseController {
this.addCorsHeaders(res);
return res.end(JSON.stringify({ ...resCheckTokenAuth, ...resUserData, authToken: token }));
} catch (err) {
log.info("User was not connected", err);
console.info("User was not connected", err);
}
}
@ -109,7 +108,7 @@ export class AuthenticateController extends BaseController {
this.addCorsHeaders(res);
return res.end(JSON.stringify({ ...data, authToken }));
} catch (e) {
log.error("openIDCallback => ERROR", e);
console.error("openIDCallback => ERROR", e);
return this.errorToResponse(e, res);
}
});
@ -117,7 +116,7 @@ export class AuthenticateController extends BaseController {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.get("/logout-callback", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
const { token } = parse(req.getQuery());
@ -129,7 +128,7 @@ export class AuthenticateController extends BaseController {
}
await openIDClient.logoutUser(authTokenData.accessToken);
} catch (error) {
log.error("openIDCallback => logout-callback", error);
console.error("openIDCallback => logout-callback", error);
} finally {
res.writeStatus("200");
this.addCorsHeaders(res);
@ -150,7 +149,7 @@ export class AuthenticateController extends BaseController {
this.App.post("/register", (res: HttpResponse, req: HttpRequest) => {
(async () => {
res.onAborted(() => {
log.warn("Login request was aborted");
console.warn("Login request was aborted");
});
const param = await res.json();
@ -181,7 +180,7 @@ export class AuthenticateController extends BaseController {
})
);
} catch (e) {
log.error("register => ERROR", e);
console.error("register => ERROR", e);
this.errorToResponse(e, res);
}
})();
@ -197,7 +196,7 @@ export class AuthenticateController extends BaseController {
this.App.post("/anonymLogin", (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("Login request was aborted");
console.warn("Login request was aborted");
});
if (DISABLE_ANONYMOUS) {
@ -224,7 +223,7 @@ export class AuthenticateController extends BaseController {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
this.App.get("/profile-callback", async (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/message request was aborted");
console.warn("/message request was aborted");
});
const { token } = parse(req.getQuery());
try {
@ -248,7 +247,7 @@ export class AuthenticateController extends BaseController {
}
}
} catch (error) {
log.error("profileCallback => ERROR", error);
console.error("profileCallback => ERROR", error);
this.errorToResponse(error, res);
}
});

View file

@ -1,6 +1,5 @@
import { HttpResponse } from "uWebSockets.js";
import { FRONT_URL } from "../Enum/EnvironmentVariable";
import log from "../Services/Logger";
export class BaseController {
protected addCorsHeaders(res: HttpResponse): void {
@ -21,12 +20,12 @@ export class BaseController {
} else {
url = "";
}
log.error("ERROR: " + e.message + url);
console.error("ERROR: " + e.message + url);
} else if (typeof e === "string") {
log.error(e);
console.error(e);
}
if (e.stack) {
log.error(e.stack);
console.error(e.stack);
}
if (e.response) {
res.writeStatus(e.response.status + " " + e.response.statusText);

View file

@ -30,7 +30,6 @@ import { ADMIN_SOCKETS_TOKEN, ADMIN_API_URL, DISABLE_ANONYMOUS, SOCKET_IDLE_TIME
import { Zone } from "_Model/Zone";
import { ExAdminSocketInterface } from "_Model/Websocket/ExAdminSocketInterface";
import { CharacterTexture } from "../Services/AdminApi/CharacterTexture";
import log from "../Services/Logger";
export class IoSocketController {
private nextUserId: number = 1;
@ -53,13 +52,13 @@ export class IoSocketController {
const data = jwtTokenManager.verifyAdminSocketToken(token as string);
authorizedRoomIds = data.authorizedRoomIds;
} catch (e) {
log.info("Admin access refused for token: " + token);
console.error("Admin access refused for token: " + token);
res.writeStatus("401 Unauthorized").end("Incorrect token");
return;
}
const roomId = query.roomId;
if (typeof roomId !== "string" || !authorizedRoomIds.includes(roomId)) {
log.error("Invalid room id");
console.error("Invalid room id");
res.writeStatus("403 Bad Request").end("Invalid room id");
return;
}
@ -67,7 +66,7 @@ export class IoSocketController {
res.upgrade({ roomId }, websocketKey, websocketProtocol, websocketExtensions, context);
},
open: (ws) => {
log.info("Admin socket connect for room: " + ws.roomId);
console.log("Admin socket connect for room: " + ws.roomId);
ws.disconnecting = false;
socketManager.handleAdminRoom(ws as ExAdminSocketInterface, ws.roomId as string);
@ -98,7 +97,7 @@ export class IoSocketController {
}
}
} catch (err) {
log.error(err);
console.error(err);
}
},
close: (ws, code, message) => {
@ -107,8 +106,8 @@ export class IoSocketController {
Client.disconnecting = true;
socketManager.leaveAdminRoom(Client);
} catch (e) {
log.error('An error occurred on admin "disconnect"');
log.error(e);
console.error('An error occurred on admin "disconnect"');
console.error(e);
}
},
});
@ -206,7 +205,7 @@ export class IoSocketController {
if (err?.response?.status == 404) {
// If we get an HTTP 404, the token is invalid. Let's perform an anonymous login!
log.warn(
console.warn(
'Cannot find user with email "' +
(userIdentifier || "anonymous") +
'". Performing an anonymous login instead.'
@ -246,13 +245,13 @@ export class IoSocketController {
throw new Error("Use the login URL to connect");
}
} catch (e) {
log.info(
console.log(
"access not granted for user " +
(userIdentifier || "anonymous") +
" and room " +
roomId
);
log.error(e);
console.error(e);
throw new Error("User cannot access this world");
}
}
@ -262,7 +261,7 @@ export class IoSocketController {
SocketManager.mergeCharacterLayersAndCustomTextures(characterLayers, memberTextures);
if (upgradeAborted.aborted) {
log.info("Ouch! Client disconnected before we could upgrade it!");
console.log("Ouch! Client disconnected before we could upgrade it!");
/* You must not upgrade now */
return;
}
@ -403,7 +402,7 @@ export class IoSocketController {
//let ok = ws.send(message, isBinary);
},
drain: (ws) => {
log.info("WebSocket backpressure: " + ws.getBufferedAmount());
console.log("WebSocket backpressure: " + ws.getBufferedAmount());
},
close: (ws, code, message) => {
const Client = ws as ExSocketInterface;
@ -412,8 +411,8 @@ export class IoSocketController {
//leave room
socketManager.leaveRoom(Client);
} catch (e) {
log.error('An error occurred on "disconnect"');
log.error(e);
console.error('An error occurred on "disconnect"');
console.error(e);
}
},
});

View file

@ -8,7 +8,6 @@ import { isMapDetailsData, MapDetailsData } from "../Services/AdminApi/MapDetail
import { socketManager } from "../Services/SocketManager";
import { AuthTokenData, jwtTokenManager } from "../Services/JWTTokenManager";
import { v4 } from "uuid";
import log from "../Services/Logger";
export class MapController extends BaseController {
constructor(private App: TemplatedApp) {
@ -26,13 +25,13 @@ export class MapController extends BaseController {
this.App.get("/map", (res: HttpResponse, req: HttpRequest) => {
res.onAborted(() => {
log.warn("/map request was aborted");
console.warn("/map request was aborted");
});
const query = parse(req.getQuery());
if (typeof query.playUri !== "string") {
log.error("Expected playUri parameter in /map endpoint");
console.error("Expected playUri parameter in /map endpoint");
res.writeStatus("400 Bad request");
this.addCorsHeaders(res);
res.end("Expected playUri parameter");
@ -84,7 +83,7 @@ export class MapController extends BaseController {
// Decode token, in this case we don't need to create new token.
authTokenData = jwtTokenManager.verifyJWTToken(query.authToken as string, true);
userId = authTokenData.identifier;
log.info("JWT expire, but decoded", userId);
console.info("JWT expire, but decoded", userId);
} catch (e) {
// The token was not good, redirect user on login page
res.writeStatus("500");

View file

@ -11,7 +11,6 @@
import { Zone, ZoneEventListener } from "./Zone";
import { ViewportInterface } from "_Model/Websocket/ViewportMessage";
import { ExSocketInterface } from "_Model/Websocket/ExSocketInterface";
import log from "../Services/Logger";
//import Debug from "debug";
//const debug = Debug('positiondispatcher');
@ -45,7 +44,7 @@ export class PositionDispatcher {
*/
public setViewport(socket: ExSocketInterface, viewport: ViewportInterface): void {
if (viewport.left > viewport.right || viewport.top > viewport.bottom) {
log.warn("Invalid viewport received: ", viewport);
console.warn("Invalid viewport received: ", viewport);
return;
}

View file

@ -20,7 +20,6 @@ import {
import { ClientReadableStream } from "grpc";
import { PositionDispatcher } from "_Model/PositionDispatcher";
import Debug from "debug";
import log from "../Services/Logger";
const debug = Debug("zone");
@ -210,7 +209,7 @@ export class Zone {
const userDescriptor = this.users.get(userId);
if (userDescriptor === undefined) {
log.error('Unexpected move message received for user "' + userId + '"');
console.error('Unexpected move message received for user "' + userId + '"');
return;
}

View file

@ -2,7 +2,6 @@ import { createWriteStream } from "fs";
import { join, dirname } from "path";
import Busboy from "busboy";
import mkdirp from "mkdirp";
import log from "../../Services/Logger";
function formData(
contType: string,
@ -20,7 +19,7 @@ function formData(
filename?: (oldName: string) => string;
} = {}
) {
log.info("Enter form data");
console.log("Enter form data");
options.headers = {
"content-type": contType,
};

View file

@ -1,5 +1,4 @@
import { CPU_OVERHEAT_THRESHOLD } from "../Enum/EnvironmentVariable";
import log from "./Logger";
function secNSec2ms(secNSec: Array<number> | number) {
if (Array.isArray(secNSec)) {
@ -29,16 +28,16 @@ class CpuTracker {
if (!this.overHeating && this.cpuPercent > CPU_OVERHEAT_THRESHOLD) {
this.overHeating = true;
log.warn('CPU high threshold alert. Going in "overheat" mode');
console.warn('CPU high threshold alert. Going in "overheat" mode');
} else if (this.overHeating && this.cpuPercent <= CPU_OVERHEAT_THRESHOLD) {
this.overHeating = false;
log.info('CPU is back to normal. Canceling "overheat" mode');
console.log('CPU is back to normal. Canceling "overheat" mode');
}
/*log.info('elapsed time ms: ', elapTimeMS)
log.info('elapsed user ms: ', elapUserMS)
log.info('elapsed system ms:', elapSystMS)
log.info('cpu percent: ', this.cpuPercent)*/
/*console.log('elapsed time ms: ', elapTimeMS)
console.log('elapsed user ms: ', elapUserMS)
console.log('elapsed system ms:', elapSystMS)
console.log('cpu percent: ', this.cpuPercent)*/
}, 100);
}

View file

@ -1,7 +1,6 @@
import { ExSocketInterface } from "_Model/Websocket/ExSocketInterface";
import { BatchMessage, ErrorMessage, ServerToClientMessage, SubMessage } from "../Messages/generated/messages_pb";
import { WebSocket } from "uWebSockets.js";
import log from "./Logger";
export function emitInBatch(socket: ExSocketInterface, payload: SubMessage): void {
socket.batchedMessages.addPayload(payload);
@ -32,5 +31,5 @@ export function emitError(Client: WebSocket, message: string): void {
if (!Client.disconnecting) {
Client.send(serverToClientMessage.serializeBinary().buffer, true);
}
log.warn(message);
console.warn(message);
}

View file

@ -1,16 +0,0 @@
import * as winston from "winston";
const logger = winston.createLogger({
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.timestamp(),
winston.format.align(),
winston.format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
}),
],
});
export default logger;

View file

@ -49,7 +49,6 @@ import { ExAdminSocketInterface } from "_Model/Websocket/ExAdminSocketInterface"
import { WebSocket } from "uWebSockets.js";
import { isRoomRedirect } from "./AdminApi/RoomRedirect";
import { CharacterTexture } from "./AdminApi/CharacterTexture";
import log from "./Logger";
const debug = Debug("socket");
@ -116,15 +115,15 @@ export class SocketManager implements ZoneEventListener {
}
})
.on("end", () => {
log.warn("Admin connection lost to back server");
console.warn("Admin connection lost to back server");
// Let's close the front connection if the back connection is closed. This way, we can retry connecting from the start.
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Admin Connection lost to back server");
}
log.info("A user left");
console.log("A user left");
})
.on("error", (err: Error) => {
log.error("Error in connection to back server:", err);
console.error("Error in connection to back server:", err);
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Error while connecting to back server");
}
@ -167,7 +166,7 @@ export class SocketManager implements ZoneEventListener {
joinRoomMessage.addCharacterlayer(characterLayerMessage);
}
log.info("Calling joinRoom '" + client.roomId + "' for client " + client.userUuid);
console.log("Calling joinRoom");
const apiClient = await apiClientRepository.getClient(client.roomId);
const streamToPusher = apiClient.joinRoom();
clientEventsEmitter.emitClientJoin(client.userUuid, client.roomId);
@ -195,25 +194,17 @@ export class SocketManager implements ZoneEventListener {
}
})
.on("end", () => {
console.warn("Connection lost to back server");
// Let's close the front connection if the back connection is closed. This way, we can retry connecting from the start.
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Connection lost to back server");
}
log.info(
"Closed connection for user '" +
client.userUuid +
"' to back server " +
apiClient.getChannel().getTarget()
);
console.log("A user left");
})
.on("error", (err: Error) => {
log.error("Error in connection to back server '" + apiClient.getChannel().getTarget() + "':", err);
console.error("Error in connection to back server:", err);
if (!client.disconnecting) {
this.closeWebsocketConnection(
client,
1011,
"Error while connecting to back server '" + apiClient.getChannel().getTarget() + "'"
);
this.closeWebsocketConnection(client, 1011, "Error while connecting to back server");
}
});
@ -224,8 +215,8 @@ export class SocketManager implements ZoneEventListener {
const pusherRoom = await this.getOrCreateRoom(client.roomId);
pusherRoom.join(client);
} catch (e) {
log.error('An error occurred on "join_room" event');
log.error(e);
console.error('An error occurred on "join_room" event');
console.error(e);
}
}
@ -242,13 +233,13 @@ export class SocketManager implements ZoneEventListener {
const room = this.rooms.get(client.roomId);
if (!room) {
log.error("In SET_VIEWPORT, could not find world with id '", client.roomId, "'");
console.error("In SET_VIEWPORT, could not find world with id '", client.roomId, "'");
return;
}
room.setViewport(client, client.viewport);
} catch (e) {
log.error('An error occurred on "SET_VIEWPORT" event');
log.error(e);
console.error('An error occurred on "SET_VIEWPORT" event');
console.error(e);
}
}
@ -319,8 +310,8 @@ export class SocketManager implements ZoneEventListener {
client.roomId
);
} catch (e) {
log.error('An error occurred on "handleReportMessage"');
log.error(e);
console.error('An error occurred on "handleReportMessage"');
console.error(e);
}
}
@ -355,14 +346,14 @@ export class SocketManager implements ZoneEventListener {
debug("Room %s is empty. Deleting.", socket.roomId);
}
} else {
log.error("Could not find the GameRoom the user is leaving!");
console.error("Could not find the GameRoom the user is leaving!");
}
//user leave previous room
//Client.leave(Client.roomId);
} finally {
//delete Client.roomId;
clientEventsEmitter.emitClientLeave(socket.userUuid, socket.roomId);
log.info("User '" + socket.userUuid + "' left");
console.log("A user left");
}
}
} finally {
@ -444,7 +435,7 @@ export class SocketManager implements ZoneEventListener {
client.send(serverToClientMessage.serializeBinary().buffer, true);
} catch (e) {
log.error("An error occurred while generating the Jitsi JWT token: ", e);
console.error("An error occurred while generating the Jitsi JWT token: ", e);
}
}
@ -468,7 +459,7 @@ export class SocketManager implements ZoneEventListener {
backAdminMessage.setType(type);
backConnection.sendAdminMessage(backAdminMessage, (error) => {
if (error !== null) {
log.error("Error while sending admin message", error);
console.error("Error while sending admin message", error);
}
});
}
@ -493,7 +484,7 @@ export class SocketManager implements ZoneEventListener {
banMessage.setType(type);
backConnection.ban(banMessage, (error) => {
if (error !== null) {
log.error("Error while sending admin message", error);
console.error("Error while sending admin message", error);
}
});
}