Implement logger on back
This commit is contained in:
parent
c573e9fbaf
commit
6a195be814
17 changed files with 260 additions and 76 deletions
|
@ -26,6 +26,7 @@ import { VariablesManager } from "../Services/VariablesManager";
|
|||
import { ADMIN_API_URL } from "../Enum/EnvironmentVariable";
|
||||
import { LocalUrlError } from "../Services/LocalUrlError";
|
||||
import { emitErrorOnRoomSocket } from "../Services/MessageHelpers";
|
||||
import log from "../Services/Logger";
|
||||
|
||||
export type ConnectCallback = (user: User, group: Group) => void;
|
||||
export type DisconnectCallback = (user: User, group: Group) => void;
|
||||
|
@ -151,7 +152,7 @@ export class GameRoom {
|
|||
public leave(user: User) {
|
||||
const userObj = this.users.get(user.id);
|
||||
if (userObj === undefined) {
|
||||
console.warn("User ", user.id, "does not belong to this game room! It should!");
|
||||
log.warn("User ", user.id, "does not belong to this game room! It should!");
|
||||
}
|
||||
if (userObj !== undefined && typeof userObj.group !== "undefined") {
|
||||
this.leaveGroup(userObj);
|
||||
|
@ -411,7 +412,7 @@ export class GameRoom {
|
|||
|
||||
const match = /\/_\/[^/]+\/(.+)/.exec(roomUrlObj.pathname);
|
||||
if (!match) {
|
||||
console.error("Unexpected room URL", roomUrl);
|
||||
log.error("Unexpected room URL", roomUrl);
|
||||
throw new Error('Unexpected room URL "' + roomUrl + '"');
|
||||
}
|
||||
|
||||
|
@ -427,7 +428,7 @@ export class GameRoom {
|
|||
|
||||
const result = await adminApi.fetchMapDetails(roomUrl);
|
||||
if (!isMapDetailsData(result)) {
|
||||
console.error("Unexpected room details received from server", result);
|
||||
log.error("Unexpected room details received from server", result);
|
||||
throw new Error("Unexpected room details received from server");
|
||||
}
|
||||
return result;
|
||||
|
@ -484,7 +485,9 @@ export class GameRoom {
|
|||
for (const roomListener of this.roomListeners) {
|
||||
emitErrorOnRoomSocket(
|
||||
roomListener,
|
||||
"Your map '"+this.mapUrl+"' does not seem accessible from the WorkAdventure servers. Is it behind a firewall or a proxy? Your map should be accessible from the WorkAdventure servers. If you use the scripting API in this map, please be aware that server-side checks and variable persistence is disabled."
|
||||
"Your map '" +
|
||||
this.mapUrl +
|
||||
"' does not seem accessible from the WorkAdventure servers. Is it behind a firewall or a proxy? Your map should be accessible from the WorkAdventure servers. If you use the scripting API in this map, please be aware that server-side checks and variable persistence is disabled."
|
||||
);
|
||||
}
|
||||
}, 1000);
|
||||
|
|
|
@ -31,6 +31,7 @@ import { User, UserSocket } from "./Model/User";
|
|||
import { GameRoom } from "./Model/GameRoom";
|
||||
import Debug from "debug";
|
||||
import { Admin } from "./Model/Admin";
|
||||
import log from "./Services/Logger";
|
||||
|
||||
const debug = Debug("roommanager");
|
||||
|
||||
|
@ -40,7 +41,7 @@ export type RoomSocket = ServerWritableStream<RoomMessage, BatchToPusherRoomMess
|
|||
|
||||
const roomManager: IRoomManagerServer = {
|
||||
joinRoom: (call: UserSocket): void => {
|
||||
console.log("joinRoom called");
|
||||
log.info("joinRoom called");
|
||||
|
||||
let room: GameRoom | null = null;
|
||||
let user: User | null = null;
|
||||
|
@ -131,11 +132,11 @@ const roomManager: IRoomManagerServer = {
|
|||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
log.error(e);
|
||||
emitError(call, e);
|
||||
call.end();
|
||||
}
|
||||
})().catch((e) => console.error(e));
|
||||
})().catch((e) => log.error(e));
|
||||
});
|
||||
|
||||
call.on("end", () => {
|
||||
|
@ -149,7 +150,7 @@ const roomManager: IRoomManagerServer = {
|
|||
});
|
||||
|
||||
call.on("error", (err: Error) => {
|
||||
console.error("An error occurred in joinRoom stream:", err);
|
||||
log.error("An error occurred in joinRoom stream:", err);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -167,7 +168,7 @@ const roomManager: IRoomManagerServer = {
|
|||
debug("listenZone cancelled");
|
||||
socketManager
|
||||
.removeZoneListener(call, zoneMessage.getRoomid(), zoneMessage.getX(), zoneMessage.getY())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
call.end();
|
||||
});
|
||||
|
||||
|
@ -175,12 +176,12 @@ const roomManager: IRoomManagerServer = {
|
|||
debug("listenZone connection closed");
|
||||
socketManager
|
||||
.removeZoneListener(call, zoneMessage.getRoomid(), zoneMessage.getX(), zoneMessage.getY())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
}).on("error", (e) => {
|
||||
console.error("An error occurred in listenZone stream:", e);
|
||||
log.error("An error occurred in listenZone stream:", e);
|
||||
socketManager
|
||||
.removeZoneListener(call, zoneMessage.getRoomid(), zoneMessage.getX(), zoneMessage.getY())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
call.end();
|
||||
});
|
||||
},
|
||||
|
@ -195,22 +196,22 @@ const roomManager: IRoomManagerServer = {
|
|||
|
||||
call.on("cancelled", () => {
|
||||
debug("listenRoom cancelled");
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => console.error(e));
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => log.error(e));
|
||||
call.end();
|
||||
});
|
||||
|
||||
call.on("close", () => {
|
||||
debug("listenRoom connection closed");
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => console.error(e));
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => log.error(e));
|
||||
}).on("error", (e) => {
|
||||
console.error("An error occurred in listenRoom stream:", e);
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => console.error(e));
|
||||
log.error("An error occurred in listenRoom stream:", e);
|
||||
socketManager.removeRoomListener(call, roomMessage.getRoomid()).catch((e) => log.error(e));
|
||||
call.end();
|
||||
});
|
||||
},
|
||||
|
||||
adminRoom(call: AdminSocket): void {
|
||||
console.log("adminRoom called");
|
||||
log.info("adminRoom called");
|
||||
|
||||
const admin = new Admin(call);
|
||||
let room: GameRoom | null = null;
|
||||
|
@ -225,7 +226,7 @@ const roomManager: IRoomManagerServer = {
|
|||
.then((gameRoom: GameRoom) => {
|
||||
room = gameRoom;
|
||||
})
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
} else {
|
||||
throw new Error("The first message sent MUST be of type JoinRoomMessage");
|
||||
}
|
||||
|
@ -246,13 +247,13 @@ const roomManager: IRoomManagerServer = {
|
|||
});
|
||||
|
||||
call.on("error", (err: Error) => {
|
||||
console.error("An error occurred in joinAdminRoom stream:", err);
|
||||
log.error("An error occurred in joinAdminRoom stream:", err);
|
||||
});
|
||||
},
|
||||
sendAdminMessage(call: ServerUnaryCall<AdminMessage>, callback: sendUnaryData<EmptyMessage>): void {
|
||||
socketManager
|
||||
.sendAdminMessage(call.request.getRoomid(), call.request.getRecipientuuid(), call.request.getMessage())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
|
||||
callback(null, new EmptyMessage());
|
||||
},
|
||||
|
@ -265,7 +266,7 @@ const roomManager: IRoomManagerServer = {
|
|||
// FIXME Work in progress
|
||||
socketManager
|
||||
.banUser(call.request.getRoomid(), call.request.getRecipientuuid(), call.request.getMessage())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
|
||||
callback(null, new EmptyMessage());
|
||||
},
|
||||
|
@ -273,7 +274,7 @@ const roomManager: IRoomManagerServer = {
|
|||
// FIXME: we could improve return message by returning a Success|ErrorMessage message
|
||||
socketManager
|
||||
.sendAdminRoomMessage(call.request.getRoomid(), call.request.getMessage(), call.request.getType())
|
||||
.catch((e) => console.error(e));
|
||||
.catch((e) => log.error(e));
|
||||
callback(null, new EmptyMessage());
|
||||
},
|
||||
sendWorldFullWarningToRoom(
|
||||
|
@ -281,7 +282,7 @@ const roomManager: IRoomManagerServer = {
|
|||
callback: sendUnaryData<EmptyMessage>
|
||||
): void {
|
||||
// FIXME: we could improve return message by returning a Success|ErrorMessage message
|
||||
socketManager.dispatchWorldFullWarning(call.request.getRoomid()).catch((e) => console.error(e));
|
||||
socketManager.dispatchWorldFullWarning(call.request.getRoomid()).catch((e) => log.error(e));
|
||||
callback(null, new EmptyMessage());
|
||||
},
|
||||
sendRefreshRoomPrompt(
|
||||
|
@ -289,7 +290,7 @@ const roomManager: IRoomManagerServer = {
|
|||
callback: sendUnaryData<EmptyMessage>
|
||||
): void {
|
||||
// FIXME: we could improve return message by returning a Success|ErrorMessage message
|
||||
socketManager.dispatchRoomRefresh(call.request.getRoomid()).catch((e) => console.error(e));
|
||||
socketManager.dispatchRoomRefresh(call.request.getRoomid()).catch((e) => log.error(e));
|
||||
callback(null, new EmptyMessage());
|
||||
},
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@ 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,
|
||||
|
@ -19,7 +20,7 @@ function formData(
|
|||
filename?: (oldName: string) => string;
|
||||
} = {}
|
||||
) {
|
||||
console.log("Enter form data");
|
||||
log.info("Enter form data");
|
||||
options.headers = {
|
||||
"content-type": contType,
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { CPU_OVERHEAT_THRESHOLD } from "../Enum/EnvironmentVariable";
|
||||
import log from "./Logger";
|
||||
|
||||
function secNSec2ms(secNSec: Array<number> | number) {
|
||||
if (Array.isArray(secNSec)) {
|
||||
|
@ -28,16 +29,16 @@ class CpuTracker {
|
|||
|
||||
if (!this.overHeating && this.cpuPercent > CPU_OVERHEAT_THRESHOLD) {
|
||||
this.overHeating = true;
|
||||
console.warn('CPU high threshold alert. Going in "overheat" mode');
|
||||
log.warn('CPU high threshold alert. Going in "overheat" mode');
|
||||
} else if (this.overHeating && this.cpuPercent <= CPU_OVERHEAT_THRESHOLD) {
|
||||
this.overHeating = false;
|
||||
console.log('CPU is back to normal. Canceling "overheat" mode');
|
||||
log.info('CPU is back to normal. Canceling "overheat" mode');
|
||||
}
|
||||
|
||||
/*console.log('elapsed time ms: ', elapTimeMS)
|
||||
console.log('elapsed user ms: ', elapUserMS)
|
||||
console.log('elapsed system ms:', elapSystMS)
|
||||
console.log('cpu percent: ', this.cpuPercent)*/
|
||||
/*log.info('elapsed time ms: ', elapTimeMS)
|
||||
log.info('elapsed user ms: ', elapUserMS)
|
||||
log.info('elapsed system ms:', elapSystMS)
|
||||
log.info('cpu percent: ', this.cpuPercent)*/
|
||||
}, 100);
|
||||
}
|
||||
|
||||
|
|
16
back/src/Services/Logger.ts
Normal file
16
back/src/Services/Logger.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
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;
|
|
@ -5,6 +5,7 @@ import { promisify } from "util";
|
|||
import { LocalUrlError } from "./LocalUrlError";
|
||||
import { ITiledMap } from "@workadventure/tiled-map-type-guard";
|
||||
import { isTiledMap } from "@workadventure/tiled-map-type-guard/dist";
|
||||
import log from "./Logger";
|
||||
|
||||
class MapFetcher {
|
||||
async fetchMap(mapUrl: string): Promise<ITiledMap> {
|
||||
|
@ -29,7 +30,7 @@ class MapFetcher {
|
|||
if (!isTiledMap(res.data)) {
|
||||
//TODO fixme
|
||||
//throw new Error("Invalid map format for map " + mapUrl);
|
||||
console.error("Invalid map format for map " + mapUrl);
|
||||
log.error("Invalid map format for map " + mapUrl);
|
||||
}
|
||||
|
||||
return res.data;
|
||||
|
|
|
@ -9,6 +9,7 @@ import {
|
|||
} from "../Messages/generated/messages_pb";
|
||||
import { UserSocket } from "_Model/User";
|
||||
import { RoomSocket, ZoneSocket } from "../RoomManager";
|
||||
import log from "./Logger";
|
||||
|
||||
export function emitError(Client: UserSocket, message: string): void {
|
||||
const errorMessage = new ErrorMessage();
|
||||
|
@ -20,11 +21,11 @@ export function emitError(Client: UserSocket, message: string): void {
|
|||
//if (!Client.disconnecting) {
|
||||
Client.write(serverToClientMessage);
|
||||
//}
|
||||
console.warn(message);
|
||||
log.warn(message);
|
||||
}
|
||||
|
||||
export function emitErrorOnRoomSocket(Client: RoomSocket, message: string): void {
|
||||
console.error(message);
|
||||
log.error(message);
|
||||
|
||||
const errorMessage = new ErrorMessage();
|
||||
errorMessage.setMessage(message);
|
||||
|
@ -38,11 +39,11 @@ export function emitErrorOnRoomSocket(Client: RoomSocket, message: string): void
|
|||
//if (!Client.disconnecting) {
|
||||
Client.write(batchToPusherMessage);
|
||||
//}
|
||||
console.warn(message);
|
||||
log.warn(message);
|
||||
}
|
||||
|
||||
export function emitErrorOnZoneSocket(Client: ZoneSocket, message: string): void {
|
||||
console.error(message);
|
||||
log.error(message);
|
||||
|
||||
const errorMessage = new ErrorMessage();
|
||||
errorMessage.setMessage(message);
|
||||
|
@ -56,5 +57,5 @@ export function emitErrorOnZoneSocket(Client: ZoneSocket, message: string): void
|
|||
//if (!Client.disconnecting) {
|
||||
Client.write(batchToPusherMessage);
|
||||
//}
|
||||
console.warn(message);
|
||||
log.warn(message);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { ClientOpts, createClient, RedisClient } from "redis";
|
||||
import { REDIS_HOST, REDIS_PASSWORD, REDIS_PORT } from "../Enum/EnvironmentVariable";
|
||||
import log from "./Logger";
|
||||
|
||||
let redisClient: RedisClient | null = null;
|
||||
|
||||
|
@ -16,7 +17,7 @@ if (REDIS_HOST !== undefined) {
|
|||
redisClient = createClient(config);
|
||||
|
||||
redisClient.on("error", (err) => {
|
||||
console.error("Error connecting to Redis:", err);
|
||||
log.error("Error connecting to Redis:", err);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -2,10 +2,11 @@ import { RedisVariablesRepository } from "./RedisVariablesRepository";
|
|||
import { redisClient } from "../RedisClient";
|
||||
import { VoidVariablesRepository } from "./VoidVariablesRepository";
|
||||
import { VariablesRepositoryInterface } from "./VariablesRepositoryInterface";
|
||||
import log from "../../Services/Logger";
|
||||
|
||||
let variablesRepository: VariablesRepositoryInterface;
|
||||
if (!redisClient) {
|
||||
console.warn("WARNING: Redis isnot configured. No variables will be persisted.");
|
||||
log.warn("WARNING: Redis isnot configured. No variables will be persisted.");
|
||||
variablesRepository = new VoidVariablesRepository();
|
||||
} else {
|
||||
variablesRepository = new RedisVariablesRepository(redisClient);
|
||||
|
|
|
@ -56,6 +56,7 @@ import { Zone } from "_Model/Zone";
|
|||
import Debug from "debug";
|
||||
import { Admin } from "_Model/Admin";
|
||||
import crypto from "crypto";
|
||||
import log from "./Logger";
|
||||
|
||||
const debug = Debug("sockermanager");
|
||||
|
||||
|
@ -89,7 +90,7 @@ export class SocketManager {
|
|||
const { room, user } = await this.joinRoom(socket, joinRoomMessage);
|
||||
|
||||
if (!socket.writable) {
|
||||
console.warn("Socket was aborted");
|
||||
log.warn("Socket was aborted");
|
||||
return {
|
||||
room,
|
||||
user,
|
||||
|
@ -156,7 +157,7 @@ export class SocketManager {
|
|||
name: playerDetailsMessage.getName(),
|
||||
characterLayers: playerDetailsMessage.getCharacterlayersList()
|
||||
};
|
||||
//console.log(SocketIoEvent.SET_PLAYER_DETAILS, playerDetails);
|
||||
//log.info(SocketIoEvent.SET_PLAYER_DETAILS, playerDetails);
|
||||
if (!isSetPlayerDetailsMessage(playerDetails)) {
|
||||
emitError(client, 'Invalid SET_PLAYER_DETAILS message received: ');
|
||||
return;
|
||||
|
@ -192,7 +193,7 @@ export class SocketManager {
|
|||
//send only at user
|
||||
const remoteUser = room.getUsers().get(data.getReceiverid());
|
||||
if (remoteUser === undefined) {
|
||||
console.warn(
|
||||
log.warn(
|
||||
"While exchanging a WebRTC signal: client with id ",
|
||||
data.getReceiverid(),
|
||||
" does not exist. This might be a race condition."
|
||||
|
@ -222,7 +223,7 @@ export class SocketManager {
|
|||
//send only at user
|
||||
const remoteUser = room.getUsers().get(data.getReceiverid());
|
||||
if (remoteUser === undefined) {
|
||||
console.warn(
|
||||
log.warn(
|
||||
"While exchanging a WEBRTC_SCREEN_SHARING signal: client with id ",
|
||||
data.getReceiverid(),
|
||||
" does not exist. This might be a race condition."
|
||||
|
@ -260,7 +261,7 @@ export class SocketManager {
|
|||
}
|
||||
} finally {
|
||||
clientEventsEmitter.emitClientLeave(user.uuid, room.roomUrl);
|
||||
console.log("A user left");
|
||||
log.info("A user left");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -308,7 +309,7 @@ export class SocketManager {
|
|||
const user = room.join(socket, joinRoomMessage);
|
||||
|
||||
clientEventsEmitter.emitClientJoin(user.uuid, roomId);
|
||||
console.log(new Date().toISOString() + " user '"+user.uuid+"' joined room '"+roomId+"'");
|
||||
log.info(new Date().toISOString() + " user '" + user.uuid + "' joined room '" + roomId + "'");
|
||||
return { room, user };
|
||||
}
|
||||
|
||||
|
@ -337,7 +338,7 @@ export class SocketManager {
|
|||
} else if (thing instanceof Group) {
|
||||
this.emitCreateUpdateGroupEvent(listener, fromZone, thing);
|
||||
} else {
|
||||
console.error("Unexpected type for Movable.");
|
||||
log.error("Unexpected type for Movable.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -352,11 +353,11 @@ export class SocketManager {
|
|||
|
||||
emitZoneMessage(subMessage, listener);
|
||||
//listener.emitInBatch(subMessage);
|
||||
//console.log("Sending USER_MOVED event");
|
||||
//log.info("Sending USER_MOVED event");
|
||||
} else if (thing instanceof Group) {
|
||||
this.emitCreateUpdateGroupEvent(listener, null, thing);
|
||||
} else {
|
||||
console.error("Unexpected type for Movable.");
|
||||
log.error("Unexpected type for Movable.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -366,7 +367,7 @@ export class SocketManager {
|
|||
} else if (thing instanceof Group) {
|
||||
this.emitDeleteGroupEvent(listener, thing.getId(), newZone);
|
||||
} else {
|
||||
console.error("Unexpected type for Movable.");
|
||||
log.error("Unexpected type for Movable.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -635,7 +636,7 @@ export class SocketManager {
|
|||
|
||||
batchMessage.addPayload(subMessage);
|
||||
} else {
|
||||
console.error("Unexpected type for Movable returned by setViewport");
|
||||
log.error("Unexpected type for Movable returned by setViewport");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -693,7 +694,7 @@ export class SocketManager {
|
|||
public async sendAdminMessage(roomId: string, recipientUuid: string, message: string): Promise<void> {
|
||||
const room = await this.roomsPromises.get(roomId);
|
||||
if (!room) {
|
||||
console.error(
|
||||
log.error(
|
||||
"In sendAdminMessage, could not find room with id '" +
|
||||
roomId +
|
||||
"'. Maybe the room was closed a few milliseconds ago and there was a race condition?"
|
||||
|
@ -703,7 +704,7 @@ export class SocketManager {
|
|||
|
||||
const recipients = room.getUsersByUuid(recipientUuid);
|
||||
if (recipients.length === 0) {
|
||||
console.error(
|
||||
log.error(
|
||||
"In sendAdminMessage, could not find user with id '" +
|
||||
recipientUuid +
|
||||
"'. Maybe the user left the room a few milliseconds ago and there was a race condition?"
|
||||
|
@ -726,7 +727,7 @@ export class SocketManager {
|
|||
public async banUser(roomId: string, recipientUuid: string, message: string): Promise<void> {
|
||||
const room = await this.roomsPromises.get(roomId);
|
||||
if (!room) {
|
||||
console.error(
|
||||
log.error(
|
||||
"In banUser, could not find room with id '" +
|
||||
roomId +
|
||||
"'. Maybe the room was closed a few milliseconds ago and there was a race condition?"
|
||||
|
@ -736,7 +737,7 @@ export class SocketManager {
|
|||
|
||||
const recipients = room.getUsersByUuid(recipientUuid);
|
||||
if (recipients.length === 0) {
|
||||
console.error(
|
||||
log.error(
|
||||
"In banUser, could not find user with id '" +
|
||||
recipientUuid +
|
||||
"'. Maybe the user left the room a few milliseconds ago and there was a race condition?"
|
||||
|
@ -765,7 +766,7 @@ export class SocketManager {
|
|||
const room = await this.roomsPromises.get(roomId);
|
||||
if (!room) {
|
||||
//todo: this should cause the http call to return a 500
|
||||
console.error(
|
||||
log.error(
|
||||
"In sendAdminRoomMessage, could not find room with id '" +
|
||||
roomId +
|
||||
"'. Maybe the room was closed a few milliseconds ago and there was a race condition?"
|
||||
|
@ -789,7 +790,7 @@ export class SocketManager {
|
|||
const room = await this.roomsPromises.get(roomId);
|
||||
if (!room) {
|
||||
//todo: this should cause the http call to return a 500
|
||||
console.error(
|
||||
log.error(
|
||||
"In dispatchWorldFullWarning, could not find room with id '" +
|
||||
roomId +
|
||||
"'. Maybe the room was closed a few milliseconds ago and there was a race condition?"
|
||||
|
|
|
@ -10,6 +10,7 @@ import {
|
|||
import { User } from "_Model/User";
|
||||
import { variablesRepository } from "./Repository/VariablesRepository";
|
||||
import { redisClient } from "./RedisClient";
|
||||
import log from "./Logger";
|
||||
|
||||
interface Variable {
|
||||
defaultValue?: string;
|
||||
|
@ -98,7 +99,7 @@ export class VariablesManager {
|
|||
for (const object of layer.objects) {
|
||||
if (object.type === "variable") {
|
||||
if (object.template) {
|
||||
console.warn(
|
||||
log.warn(
|
||||
'Warning, a variable object is using a Tiled "template". WorkAdventure does not support objects generated from Tiled templates.'
|
||||
);
|
||||
continue;
|
||||
|
@ -204,7 +205,7 @@ export class VariablesManager {
|
|||
if (variableObject !== undefined && variableObject.persist) {
|
||||
variablesRepository
|
||||
.saveVariable(this.roomUrl, name, value)
|
||||
.catch((e) => console.error("Error while saving variable in Redis:", e));
|
||||
.catch((e) => log.error("Error while saving variable in Redis:", e));
|
||||
}
|
||||
|
||||
return readableBy;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue