Skip to content

Commit fc99f34

Browse files
authored
feat: add logger class (#434)
* add logger class and replace it * add enable/disable on logger
1 parent 7be7ea7 commit fc99f34

File tree

7 files changed

+101
-66
lines changed

7 files changed

+101
-66
lines changed

WebApp/public/bidirectional/js/main.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ async function setupConfig() {
2121
const res = await getServerConfig();
2222
useWebSocket = res.useWebSocket;
2323
showWarningIfNeeded(res.startupMode);
24-
showPlayButton();
2524
}
2625

2726
function showWarningIfNeeded(startupMode) {

WebApp/public/bidirectional/js/sendvideo.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Signaling, { WebSocketSignaling } from "../../js/signaling.js";
22
import * as Config from "../../js/config.js";
3+
import * as Logger from "../../js/logger.js";
34

45
export class SendVideo {
56
constructor() {
@@ -18,7 +19,7 @@ export class SendVideo {
1819
localVideo.srcObject = this.localStream;
1920
await localVideo.play();
2021
} catch (err) {
21-
console.error('mediaDevice.getUserMedia() error:', err);
22+
Logger.error('mediaDevice.getUserMedia() error:', err);
2223
}
2324
}
2425

@@ -94,7 +95,7 @@ export class SendVideo {
9495
this.isOffer = isOffer;
9596
// close current RTCPeerConnection
9697
if (this.pc) {
97-
console.log('Close current PeerConnection');
98+
Logger.log('Close current PeerConnection');
9899
this.pc.close();
99100
this.pc = null;
100101
}
@@ -103,19 +104,19 @@ export class SendVideo {
103104
this.pc = new RTCPeerConnection(this.config);
104105

105106
this.pc.onsignalingstatechange = e => {
106-
console.log('signalingState changed:', e);
107+
Logger.log('signalingState changed:', e);
107108
};
108109

109110
this.pc.oniceconnectionstatechange = e => {
110-
console.log('iceConnectionState changed:', e);
111-
console.log('pc.iceConnectionState:' + _this.pc.iceConnectionState);
111+
Logger.log('iceConnectionState changed:', e);
112+
Logger.log('pc.iceConnectionState:' + _this.pc.iceConnectionState);
112113
if (_this.pc.iceConnectionState === 'disconnected') {
113114
_this.hangUp();
114115
}
115116
};
116117

117118
this.pc.onicegatheringstatechange = e => {
118-
console.log('iceGatheringState changed:', e);
119+
Logger.log('iceGatheringState changed:', e);
119120
};
120121

121122
this.pc.ontrack = async (e) => {
@@ -138,15 +139,15 @@ export class SendVideo {
138139
async sendOffer() {
139140
const _this = this;
140141
let offer = await _this.pc.createOffer();
141-
console.log('createOffer() succsess in promise');
142+
Logger.log('createOffer() succsess in promise');
142143

143144
if (_this.pc.signalingState != 'stable') {
144-
console.error("peerConnection's signaling state is not stable. " + pc.SignalingState);
145+
Logger.error("peerConnection's signaling state is not stable. " + pc.SignalingState);
145146
return;
146147
}
147148

148149
await _this.pc.setLocalDescription(offer);
149-
console.log('setLocalDescription() succsess in promise');
150+
Logger.log('setLocalDescription() succsess in promise');
150151
_this.signaling.sendOffer(_this.connectionId, offer.sdp);
151152
}
152153

@@ -160,12 +161,12 @@ export class SendVideo {
160161
if (this.pc.iceConnectionState !== 'closed') {
161162
this.pc.close();
162163
this.pc = null;
163-
console.log('sending close message');
164+
Logger.log('sending close message');
164165
this.signaling.stop();
165166
return;
166167
}
167168
}
168-
console.log('peerConnection is closed.');
169+
Logger.log('peerConnection is closed.');
169170
await this.signaling.deleteConnection(this.connectionId);
170171
this.connectionId = null;
171172
}

WebApp/public/js/gamepadEvents.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import * as Logger from "./logger.js";
2+
13
const _e = 0.09;
24
const _gameloopInterval = 16.67; //in milliseconds, 60 times a second
35
var gameloop = null;
@@ -143,7 +145,7 @@ export function gamepadHandler(event, connecting) {
143145
gamepadsConnectedTimeStamp[gamepad.index] = cookieTimeStamp;
144146
}
145147

146-
console.log("connected: " + gamepadsConnectedTimeStamp[gamepad.index])
148+
Logger.log("connected: " + gamepadsConnectedTimeStamp[gamepad.index])
147149

148150
} else {
149151
delete gamepadsPreviousAxesStates[gamepad.index];
@@ -153,6 +155,6 @@ export function gamepadHandler(event, connecting) {
153155
clearInterval(gameloop);
154156
gameloop = null;
155157
}
156-
console.log("disconnected: " + gamepad.id)
158+
Logger.log("disconnected: " + gamepad.id)
157159
}
158160
}

WebApp/public/js/logger.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
let isDebug = false;
2+
3+
export function enable() {
4+
isDebug = true;
5+
}
6+
7+
export function disable() {
8+
isDebug = false;
9+
}
10+
11+
export function debug(msg) {
12+
isDebug && console.debug(msg);
13+
}
14+
15+
export function info(msg) {
16+
isDebug && console.info(msg);
17+
}
18+
19+
export function log(msg) {
20+
isDebug && console.log(msg);
21+
}
22+
23+
export function warn(msg) {
24+
isDebug && console.warn(msg);
25+
}
26+
27+
export function error(msg) {
28+
isDebug && console.error(msg);
29+
}

WebApp/public/js/register-events.js

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { gamepadHandler } from "./gamepadEvents.js";
2+
import * as Logger from "./logger.js";
23

34
const InputEvent = {
45
Keyboard: 0,
@@ -163,7 +164,7 @@ export function registerGamepadEvents(videoPlayer) {
163164
const _videoPlayer = videoPlayer;
164165

165166
sendGamepadButtonDown = (e) => {
166-
//console.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " down" );
167+
Logger.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " down" );
167168
let data = new DataView(new ArrayBuffer(19));
168169
data.setUint8(0, InputEvent.Gamepad);
169170
data.setUint8(1, GamepadEventType.ButtonDown);
@@ -174,7 +175,7 @@ export function registerGamepadEvents(videoPlayer) {
174175
}
175176

176177
sendGamepadButtonUp = (e) => {
177-
//console.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " up" );
178+
Logger.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " up" );
178179
let data = new DataView(new ArrayBuffer(19));
179180
data.setUint8(0, InputEvent.Gamepad);
180181
data.setUint8(1, GamepadEventType.ButtonUp);
@@ -185,7 +186,7 @@ export function registerGamepadEvents(videoPlayer) {
185186
}
186187

187188
sendGamepadButtonPressed = (e) => {
188-
//console.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " pressed" );
189+
Logger.log("gamepad id: " + e.id + " button index: " + e.index + " value " + e.value + " pressed" );
189190
let data = new DataView(new ArrayBuffer(19));
190191
data.setUint8(0, InputEvent.Gamepad);
191192
data.setUint8(1, GamepadEventType.ButtonPressed);
@@ -196,7 +197,7 @@ export function registerGamepadEvents(videoPlayer) {
196197
}
197198

198199
gamepadAxisChange = (e) => {
199-
//console.log("gamepad id: " + e.id + " axis: " + e.index + " value " + e.value + " x:" + e.x + " y:" + e.y );
200+
Logger.log("gamepad id: " + e.id + " axis: " + e.index + " value " + e.value + " x:" + e.x + " y:" + e.y );
200201
let data = new DataView(new ArrayBuffer(27));
201202
data.setUint8(0, InputEvent.Gamepad);
202203
data.setUint8(1, GamepadEventType.Axis);
@@ -243,7 +244,7 @@ export function registerKeyboardEvents(videoPlayer) {
243244
function sendKey(e, type) {
244245
const key = Keymap[e.code];
245246
const character = e.key.length === 1 ? e.key.charCodeAt(0) : 0;
246-
//console.log("key down " + key + ", repeat = " + e.repeat + ", character = " + character);
247+
Logger.log("key down " + key + ", repeat = " + e.repeat + ", character = " + character);
247248
_videoPlayer && _videoPlayer.sendMsg(new Uint8Array([InputEvent.Keyboard, type, e.repeat, key, character]).buffer);
248249
}
249250

@@ -261,11 +262,11 @@ export function registerKeyboardEvents(videoPlayer) {
261262
}
262263

263264

264-
export function unregisterKeyboardEvents(videoPlayer) {
265-
266-
//Stop listening to keyboard events
267-
document.removeEventListener('keyup', sendKeyUp, false);
268-
document.removeEventListener('keydown', sendKeyDown, false);
265+
export function unregisterKeyboardEvents(videoPlayer) {
266+
267+
//Stop listening to keyboard events
268+
document.removeEventListener('keyup', sendKeyUp, false);
269+
document.removeEventListener('keydown', sendKeyDown, false);
269270
}
270271

271272

@@ -302,7 +303,7 @@ export function registerMouseEvents(videoPlayer, playerElement) {
302303
}) === undefined ? PointerPhase.Stationary : phase;
303304
}
304305

305-
//console.log("touch phase:" + phase + " length:" + changedTouches.length + " pageX" + changedTouches[0].pageX + ", pageX: " + changedTouches[0].pageY + ", force:" + changedTouches[0].force);
306+
Logger.log("touch phase:" + phase + " length:" + changedTouches.length + " pageX" + changedTouches[0].pageX + ", pageX: " + changedTouches[0].pageY + ", force:" + changedTouches[0].force);
306307

307308
let data = new DataView(new ArrayBuffer(2 + 13 * touches.length));
308309
data.setUint8(0, InputEvent.Touch);
@@ -363,7 +364,7 @@ export function registerMouseEvents(videoPlayer, playerElement) {
363364
// const y = (e.clientY - originY) / scale;
364365
const y = _videoPlayer.videoHeight - (e.clientY - originY) / scale;
365366

366-
//console.log("x: " + x + ", y: " + y + ", scale: " + scale + ", originX: " + originX + ", originY: " + originY + " mouse button:" + e.buttons);
367+
Logger.log("x: " + x + ", y: " + y + ", scale: " + scale + ", originX: " + originX + ", originY: " + originY + " mouse button:" + e.buttons);
367368
let data = new DataView(new ArrayBuffer(6));
368369
data.setUint8(0, InputEvent.Mouse);
369370
data.setInt16(1, x, true);
@@ -373,7 +374,7 @@ export function registerMouseEvents(videoPlayer, playerElement) {
373374
}
374375

375376
function sendMouseWheel(e) {
376-
//console.log("mouse wheel with delta " + e.wheelDelta);
377+
Logger.log("mouse wheel with delta " + e.wheelDelta);
377378
let data = new DataView(new ArrayBuffer(9));
378379
data.setUint8(0, InputEvent.MouseWheel);
379380
data.setFloat32(1, e.deltaX, true);
@@ -400,21 +401,21 @@ export function registerMouseEvents(videoPlayer, playerElement) {
400401
}
401402

402403

403-
export function unregisterMouseEvents(videoPlayer, playerElement) {
404-
405-
// Stop listening to mouse events
406-
playerElement.removeEventListener('click', sendMouse, false);
407-
playerElement.removeEventListener('mousedown', sendMouse, false);
408-
playerElement.removeEventListener('mouseup', sendMouse, false);
409-
playerElement.removeEventListener('mousemove', sendMouse, false);
410-
playerElement.removeEventListener('wheel', sendMouseWheel, false);
411-
412-
// Stop listening to touch events based on "Touch Events Level1" TR.
413-
playerElement.removeEventListener('touchend', sendTouchEnd, false);
414-
playerElement.removeEventListener('touchstart', sendTouchStart, false);
415-
playerElement.removeEventListener('touchcancel', sendTouchCancel, false);
416-
playerElement.removeEventListener('touchmove', sendTouchMove, false);
417-
404+
export function unregisterMouseEvents(videoPlayer, playerElement) {
405+
406+
// Stop listening to mouse events
407+
playerElement.removeEventListener('click', sendMouse, false);
408+
playerElement.removeEventListener('mousedown', sendMouse, false);
409+
playerElement.removeEventListener('mouseup', sendMouse, false);
410+
playerElement.removeEventListener('mousemove', sendMouse, false);
411+
playerElement.removeEventListener('wheel', sendMouseWheel, false);
412+
413+
// Stop listening to touch events based on "Touch Events Level1" TR.
414+
playerElement.removeEventListener('touchend', sendTouchEnd, false);
415+
playerElement.removeEventListener('touchstart', sendTouchStart, false);
416+
playerElement.removeEventListener('touchcancel', sendTouchCancel, false);
417+
playerElement.removeEventListener('touchmove', sendTouchMove, false);
418+
418419
}
419420

420421

WebApp/public/js/signaling.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import * as Logger from "./logger.js";
2+
13
export default class Signaling extends EventTarget {
24

35
constructor() {
@@ -38,7 +40,7 @@ export default class Signaling extends EventTarget {
3840

3941
const data = await res.json();
4042
const offers = data.offers;
41-
console.log('get offers:', offers);
43+
logger.log('get offers:', offers);
4244

4345
offers.forEach(offer => {
4446
this.dispatchEvent(new CustomEvent('offer', { detail: offer }));
@@ -58,7 +60,7 @@ export default class Signaling extends EventTarget {
5860

5961
const data = await res.json();
6062
const answers = data.answers;
61-
console.log('get answers:', answers);
63+
Logger.log('get answers:', answers);
6264

6365
answers.forEach(answer => {
6466
this.dispatchEvent(new CustomEvent('answer', { detail: answer }));
@@ -78,7 +80,7 @@ export default class Signaling extends EventTarget {
7880

7981
const data = await res.json();
8082
const candidates = data.candidates;
81-
console.log('get candidates:', candidates);
83+
Logger.log('get candidates:', candidates);
8284

8385
if (candidates.length > 0) {
8486
for (let candidate of candidates[0].candidates) {
@@ -112,13 +114,13 @@ export default class Signaling extends EventTarget {
112114

113115
async sendOffer(connectionId, sdp) {
114116
const data = { 'sdp': sdp, 'connectionId': connectionId };
115-
console.log('sendOffer:', data);
117+
Logger.log('sendOffer:', data);
116118
await fetch(this.url('offer'), { method: 'POST', headers: this.headers(), body: JSON.stringify(data) });
117119
};
118120

119121
async sendAnswer(connectionId, sdp) {
120122
const data = { 'sdp': sdp, 'connectionId': connectionId };
121-
console.log('sendAnswer:', data);
123+
Logger.log('sendAnswer:', data);
122124
await fetch(this.url('answer'), { method: 'POST', headers: this.headers(), body: JSON.stringify(data) });
123125
};
124126

@@ -129,7 +131,7 @@ export default class Signaling extends EventTarget {
129131
'sdpMid': sdpMid,
130132
'connectionId': connectionId
131133
};
132-
console.log('sendCandidate:', data);
134+
Logger.log('sendCandidate:', data);
133135
await fetch(this.url('candidate'), { method: 'POST', headers: this.headers(), body: JSON.stringify(data) });
134136
};
135137

@@ -173,7 +175,7 @@ export class WebSocketSignaling extends EventTarget {
173175
return;
174176
}
175177

176-
console.log(msg);
178+
Logger.log(msg);
177179

178180
switch (msg.type) {
179181
case "connect":
@@ -212,27 +214,27 @@ export class WebSocketSignaling extends EventTarget {
212214

213215
createConnection(connectionId) {
214216
const sendJson = JSON.stringify({ type: "connect", connectionId: connectionId });
215-
console.log(sendJson);
217+
Logger.log(sendJson);
216218
this.websocket.send(sendJson);
217219
};
218220

219221
deleteConnection(connectionId) {
220222
const sendJson = JSON.stringify({ type: "disconnect", connectionId: connectionId });
221-
console.log(sendJson);
223+
Logger.log(sendJson);
222224
this.websocket.send(sendJson);
223225
};
224226

225227
sendOffer(connectionId, sdp) {
226228
const data = { 'sdp': sdp, 'connectionId': connectionId };
227229
const sendJson = JSON.stringify({ type: "offer", from: connectionId, data: data });
228-
console.log(sendJson);
230+
Logger.log(sendJson);
229231
this.websocket.send(sendJson);
230232
}
231233

232234
sendAnswer(connectionId, sdp) {
233235
const data = { 'sdp': sdp, 'connectionId': connectionId };
234236
const sendJson = JSON.stringify({ type: "answer", from: connectionId, data: data });
235-
console.log(sendJson);
237+
Logger.log(sendJson);
236238
this.websocket.send(sendJson);
237239
}
238240

@@ -244,7 +246,7 @@ export class WebSocketSignaling extends EventTarget {
244246
'connectionId': connectionId
245247
};
246248
const sendJson = JSON.stringify({ type: "candidate", from: connectionId, data: data });
247-
console.log(sendJson);
249+
Logger.log(sendJson);
248250
this.websocket.send(sendJson);
249251
}
250252
}

0 commit comments

Comments
 (0)