[mirotalksfu] - log refactoring
هذا الالتزام موجود في:
@@ -17,7 +17,7 @@ const LOGS_JSON_PRETTY = config.system?.console?.json_pretty;
|
||||
module.exports = class Logger {
|
||||
constructor(appName = 'miroTalkSfu') {
|
||||
this.appName = colors.yellow(appName);
|
||||
this.debugOn = config.system?.console?.debug || true;
|
||||
this.debugOn = config.system?.console?.debug;
|
||||
this.timeStart = Date.now();
|
||||
this.timeEnd = null;
|
||||
this.timeElapsedMs = null;
|
||||
|
||||
@@ -403,7 +403,7 @@ module.exports = class Peer {
|
||||
// ####################################################
|
||||
|
||||
close() {
|
||||
log.info('Starting peer cleanup', {
|
||||
log.debug('Starting peer cleanup', {
|
||||
peer_id: this.id,
|
||||
peer_name: this.peer_name,
|
||||
transports: this.transports.size,
|
||||
@@ -456,7 +456,7 @@ module.exports = class Peer {
|
||||
}
|
||||
this.transports.clear();
|
||||
|
||||
log.info('Peer cleanup completed successfully', {
|
||||
log.debug('Peer cleanup completed successfully', {
|
||||
peer_id: this.id,
|
||||
peer_name: this.peer_name,
|
||||
transports: this.transports.size,
|
||||
|
||||
@@ -171,7 +171,7 @@ module.exports = class Room {
|
||||
fs.mkdirSync(folderPath, { recursive: true });
|
||||
}
|
||||
const files = fs.readdirSync(folderPath);
|
||||
log.info('[getRTMP] Files', files);
|
||||
log.debug('[getRTMP] Files', files);
|
||||
return files;
|
||||
} catch (error) {
|
||||
log.error(`[getRTMP] Error reading directory: ${error.message}`);
|
||||
@@ -329,19 +329,19 @@ module.exports = class Room {
|
||||
.then((router) => {
|
||||
this.router = router;
|
||||
if (this.audioLevelObserverEnabled) {
|
||||
log.info('Audio Level Observer enabled, starting observation...');
|
||||
log.debug('Audio Level Observer enabled, starting observation...');
|
||||
this.startAudioLevelObservation().catch((err) => {
|
||||
log.error('Failed to start audio level observation', err);
|
||||
});
|
||||
}
|
||||
if (this.activeSpeakerObserverEnabled) {
|
||||
log.info('Active Speaker Observer enabled, starting observation...');
|
||||
log.debug('Active Speaker Observer enabled, starting observation...');
|
||||
this.startActiveSpeakerObserver().catch((err) => {
|
||||
log.error('Failed to start active speaker observer', err);
|
||||
});
|
||||
}
|
||||
this.router.observer.on('close', () => {
|
||||
log.info('---------------> Router is now closed as the last peer has left the room', {
|
||||
log.debug('---------------> Router is now closed as the last peer has left the room', {
|
||||
room: this.id,
|
||||
});
|
||||
});
|
||||
@@ -427,7 +427,7 @@ module.exports = class Room {
|
||||
addProducerToAudioLevelObserver(producer) {
|
||||
if (this.audioLevelObserverEnabled) {
|
||||
this.audioLevelObserver.addProducer(producer);
|
||||
log.info('Producer added to audio level observer', { producer });
|
||||
log.debug('Producer added to audio level observer', { producer });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,7 +485,7 @@ module.exports = class Room {
|
||||
addProducerToActiveSpeakerObserver(producer) {
|
||||
if (this.activeSpeakerObserverEnabled) {
|
||||
this.activeSpeakerObserver.addProducer(producer);
|
||||
log.info('Producer added to active speaker observer', { producer });
|
||||
log.debug('Producer added to active speaker observer', { producer });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ dev dependencies: {
|
||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.9.99
|
||||
* @version 2.0.00
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -876,7 +876,7 @@ function startServer() {
|
||||
const token = encodeToken({ username: username, password: password, presenter: isPresenter });
|
||||
const allowedRooms = await getUserAllowedRooms(username, password);
|
||||
|
||||
log.info('login -------------->', { displayName: user?.displayname || username });
|
||||
log.debug('login -------------->', { displayName: user?.displayname || username });
|
||||
|
||||
return res
|
||||
.status(200)
|
||||
@@ -1604,6 +1604,7 @@ function startServer() {
|
||||
|
||||
// Version Information
|
||||
versions: {
|
||||
environment: config.system?.info?.environment,
|
||||
app: packageJson?.version,
|
||||
node: process.versions.node,
|
||||
server_version: mediasoup?.version,
|
||||
@@ -1721,9 +1722,9 @@ function startServer() {
|
||||
/*
|
||||
setInterval(async () => {
|
||||
const usage = await worker.getResourceUsage();
|
||||
log.info('mediasoup Worker resource usage', { worker_pid: worker.pid, usage: usage });
|
||||
log.debug('mediasoup Worker resource usage', { worker_pid: worker.pid, usage: usage });
|
||||
const dump = await worker.dump();
|
||||
log.info('mediasoup Worker dump', { worker_pid: worker.pid, dump: dump });
|
||||
log.debug('mediasoup Worker dump', { worker_pid: worker.pid, dump: dump });
|
||||
}, 120000);
|
||||
*/
|
||||
}
|
||||
@@ -1788,7 +1789,7 @@ function startServer() {
|
||||
|
||||
const data = checkXSS(dataObject);
|
||||
|
||||
log.info('User joined', data);
|
||||
log.debug('User joined', data);
|
||||
|
||||
if (!Validator.isValidRoomName(socket.room_id)) {
|
||||
log.warn('[Join] - Invalid room name', socket.room_id);
|
||||
@@ -1867,7 +1868,7 @@ function startServer() {
|
||||
|
||||
// check if banned...
|
||||
if (room.isBanned(peer_uuid)) {
|
||||
log.info('[Join] - peer is banned!', {
|
||||
log.debug('[Join] - peer is banned!', {
|
||||
room_id: data.room_id,
|
||||
peer: {
|
||||
name: peer_name,
|
||||
@@ -1891,11 +1892,11 @@ function startServer() {
|
||||
|
||||
const activeRooms = getActiveRooms();
|
||||
|
||||
log.info('[Join] - current active rooms', activeRooms);
|
||||
log.debug('[Join] - current active rooms', activeRooms);
|
||||
|
||||
const activeStreams = getRTMPActiveStreams();
|
||||
|
||||
log.info('[Join] - current active RTMP streams', activeStreams);
|
||||
log.debug('[Join] - current active RTMP streams', activeStreams);
|
||||
|
||||
if (!(socket.room_id in presenters)) presenters[socket.room_id] = {};
|
||||
|
||||
@@ -1915,7 +1916,7 @@ function startServer() {
|
||||
presenters[socket.room_id][socket.id] = presenter;
|
||||
}
|
||||
|
||||
log.info('[Join] - Connected presenters grp by roomId', presenters);
|
||||
log.debug('[Join] - Connected presenters grp by roomId', presenters);
|
||||
|
||||
const isPresenter = peer_token
|
||||
? is_presenter
|
||||
@@ -1929,7 +1930,7 @@ function startServer() {
|
||||
});
|
||||
}
|
||||
|
||||
log.info('[Join] - Is Peer presenter', {
|
||||
log.debug('[Join] - Is Peer presenter', {
|
||||
roomId: socket.room_id,
|
||||
peer_name: peer_name,
|
||||
peer_presenter: isPresenter,
|
||||
@@ -2451,7 +2452,7 @@ function startServer() {
|
||||
room.broadCast(socket.id, 'roomAction', data.action);
|
||||
break;
|
||||
case 'isBanned':
|
||||
log.info('The user has been banned from the room due to spamming messages', data);
|
||||
log.debug('The user has been banned from the room due to spamming messages', data);
|
||||
room.addBannedPeer(data.peer_uuid);
|
||||
break;
|
||||
default:
|
||||
@@ -2794,7 +2795,7 @@ function startServer() {
|
||||
return;
|
||||
}
|
||||
|
||||
log.info('message', data);
|
||||
log.debug('message', data);
|
||||
|
||||
data.to_peer_id == 'all'
|
||||
? room.broadCast(socket.id, 'message', data)
|
||||
@@ -2836,7 +2837,7 @@ function startServer() {
|
||||
context.push({ role: 'assistant', content: message });
|
||||
|
||||
// Log the conversation details
|
||||
log.info('ChatGPT Response', {
|
||||
log.debug('ChatGPT Response', {
|
||||
time,
|
||||
room,
|
||||
name,
|
||||
@@ -2909,7 +2910,7 @@ function startServer() {
|
||||
context.push({ role: 'assistant', content: message });
|
||||
|
||||
// Log the conversation details
|
||||
log.info('DeepSeek Response', {
|
||||
log.debug('DeepSeek Response', {
|
||||
time,
|
||||
room,
|
||||
name,
|
||||
@@ -3482,7 +3483,7 @@ function startServer() {
|
||||
|
||||
delete presenters[socket.room_id];
|
||||
|
||||
log.info('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
|
||||
log.debug('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
|
||||
|
||||
const activeRooms = getActiveRooms();
|
||||
|
||||
@@ -3541,7 +3542,7 @@ function startServer() {
|
||||
|
||||
delete presenters[socket.room_id];
|
||||
|
||||
log.info('[REMOVE ME] - Last peer - current presenters grouped by roomId', presenters);
|
||||
log.debug('[REMOVE ME] - Last peer - current presenters grouped by roomId', presenters);
|
||||
|
||||
const activeRooms = getActiveRooms();
|
||||
|
||||
@@ -3710,7 +3711,7 @@ function startServer() {
|
||||
// Presenter not in the presenters config list, disconnected, or peer_id changed...
|
||||
for (const [existingPeerID, presenter] of Object.entries(presenters[room_id] || {})) {
|
||||
if (presenter.peer_name === peer_name) {
|
||||
log.info('Presenter found', {
|
||||
log.debug('Presenter found', {
|
||||
room: room_id,
|
||||
peer_id: existingPeerID,
|
||||
peer_name: peer_name,
|
||||
@@ -4066,7 +4067,7 @@ function startServer() {
|
||||
function allowedIP(ip) {
|
||||
const authorizedIPs = authHost.getAuthorizedIPs();
|
||||
const authorizedIP = authHost.isAuthorizedIP(ip);
|
||||
log.info('Allowed IPs', {
|
||||
log.debug('Allowed IPs', {
|
||||
ip: ip,
|
||||
authorizedIP: authorizedIP,
|
||||
authorizedIPs: authorizedIPs,
|
||||
@@ -4080,7 +4081,7 @@ function startServer() {
|
||||
if (ip && allowedIP(ip)) {
|
||||
authHost.deleteIP(ip);
|
||||
hostCfg.authenticated = false;
|
||||
log.info('Remove IP from auth', {
|
||||
log.debug('Remove IP from auth', {
|
||||
removedIp: ip,
|
||||
authorizedIps: authHost.getAuthorizedIPs(),
|
||||
});
|
||||
|
||||
4
package-lock.json
مولّد
4
package-lock.json
مولّد
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "mirotalksfu",
|
||||
"version": "1.9.99",
|
||||
"version": "2.0.00",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mirotalksfu",
|
||||
"version": "1.9.99",
|
||||
"version": "2.0.00",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.922.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mirotalksfu",
|
||||
"version": "1.9.99",
|
||||
"version": "2.0.00",
|
||||
"description": "WebRTC SFU browser-based video calls",
|
||||
"main": "Server.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -78,7 +78,7 @@ let BRAND = {
|
||||
},
|
||||
about: {
|
||||
imageUrl: '../images/mirotalk-logo.gif',
|
||||
title: '<strong>WebRTC SFU v1.9.99</strong>',
|
||||
title: '<strong>WebRTC SFU v2.0.00</strong>',
|
||||
html: `
|
||||
<button
|
||||
id="support-button"
|
||||
|
||||
@@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
|
||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.9.99
|
||||
* @version 2.0.00
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -5765,7 +5765,7 @@ function showAbout() {
|
||||
position: 'center',
|
||||
imageUrl: BRAND.about?.imageUrl && BRAND.about.imageUrl.trim() !== '' ? BRAND.about.imageUrl : image.about,
|
||||
customClass: { image: 'img-about' },
|
||||
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.9.99',
|
||||
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v2.0.00',
|
||||
html: `
|
||||
<br />
|
||||
<div id="about">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.9.99
|
||||
* @version 2.0.00
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم