mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-23 17:26:51 +00:00
send all logs from client to server and log them
This commit is contained in:
@@ -13,6 +13,7 @@ import { SendAttackIntentEvent, SendSpawnIntentEvent, Transport } from "./Transp
|
||||
import { createCanvas } from "./Utils";
|
||||
import { DisplayMessageEvent, MessageType } from "./graphics/layers/EventsDisplay";
|
||||
import { WorkerClient } from "../core/worker/WorkerClient";
|
||||
import { initializeLogSender } from "./LogSender";
|
||||
|
||||
export interface LobbyConfig {
|
||||
playerName: () => string
|
||||
@@ -27,6 +28,7 @@ export interface LobbyConfig {
|
||||
|
||||
export function joinLobby(lobbyConfig: LobbyConfig, onjoin: () => void): () => void {
|
||||
const eventBus = new EventBus()
|
||||
initializeLogSender(eventBus)
|
||||
const config = getConfig()
|
||||
|
||||
let gameConfig: GameConfig = null
|
||||
@@ -186,7 +188,6 @@ export class GameRunner {
|
||||
}
|
||||
|
||||
private playerEvent(event: PlayerEvent) {
|
||||
console.log('received new player event!')
|
||||
if (event.player.clientID() == this.clientID) {
|
||||
console.log('setting name')
|
||||
this.myPlayer = event.player
|
||||
|
||||
+27
-6
@@ -1,16 +1,37 @@
|
||||
import { EventBus } from "../core/EventBus"
|
||||
import { LogSeverity } from "../core/Schemas"
|
||||
import { SendLogEvent } from "./Transport"
|
||||
|
||||
export enum LogSeverity {
|
||||
Info,
|
||||
Warn,
|
||||
Error
|
||||
}
|
||||
let inited = false
|
||||
|
||||
export function initializeLogSender(eventBus: EventBus) {
|
||||
if (inited) {
|
||||
return
|
||||
}
|
||||
inited = true
|
||||
|
||||
// Store original console methods
|
||||
const originalLog = console.log
|
||||
const originalWarn = console.warn
|
||||
const originalError = console.error
|
||||
|
||||
const log = (msg: string): void => {
|
||||
eventBus.emit(new SendLogEvent(LogSeverity.Info, msg))
|
||||
console.log(msg)
|
||||
originalLog.call(console, msg) // Use the original method
|
||||
}
|
||||
|
||||
const warn = (msg: string): void => {
|
||||
eventBus.emit(new SendLogEvent(LogSeverity.Warn, msg))
|
||||
originalWarn.call(console, msg) // Use the original method
|
||||
}
|
||||
|
||||
const error = (msg: string): void => {
|
||||
eventBus.emit(new SendLogEvent(LogSeverity.Error, msg))
|
||||
originalError.call(console, msg) // Use the original method
|
||||
}
|
||||
|
||||
// Replace console methods
|
||||
console.log = log
|
||||
console.warn = warn
|
||||
console.error = error
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import { SinglePlayerModal } from "./SinglePlayerModal";
|
||||
import { HostLobbyModal as HostPrivateLobbyModal } from "./HostLobbyModal";
|
||||
import { JoinPrivateLobbyModal } from "./JoinPrivateLobbyModal";
|
||||
import { generateID } from "../core/Util";
|
||||
import { initializeLogSender } from "./LogSender";
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { Config } from "../core/configuration/Config"
|
||||
import { EventBus, GameEvent } from "../core/EventBus"
|
||||
import { AllianceRequest, AllPlayers, Cell, GameType, Player, PlayerID, PlayerType, Tile, UnitType } from "../core/game/Game"
|
||||
import { ClientID, ClientIntentMessageSchema, ClientJoinMessageSchema, GameID, Intent, ServerMessage, ServerMessageSchema, ClientPingMessageSchema, GameConfig, ClientLogMessageSchema } from "../core/Schemas"
|
||||
import { ClientID, ClientIntentMessageSchema, ClientJoinMessageSchema, GameID, Intent, ServerMessage, ServerMessageSchema, ClientPingMessageSchema, GameConfig, ClientLogMessageSchema, LogSeverity } from "../core/Schemas"
|
||||
import { LobbyConfig } from "./GameRunner"
|
||||
import { LocalServer } from "./LocalServer"
|
||||
import { LogSeverity } from "./LogSender"
|
||||
|
||||
|
||||
export class SendAllianceRequestIntentEvent implements GameEvent {
|
||||
@@ -206,6 +205,7 @@ export class Transport {
|
||||
clientID: this.lobbyConfig.clientID,
|
||||
persistentID: this.lobbyConfig.persistentID,
|
||||
log: event.log,
|
||||
severity: event.severity,
|
||||
})
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user