diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as index 0b46c6b3f5ffccea55307f9f5dd5eb8673d31a36..635d72726174bd22f25046000be7af2ce92a00f0 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as @@ -25,7 +25,8 @@ package org.bigbluebutton.core import org.bigbluebutton.core.managers.UserManager; import org.bigbluebutton.core.vo.CameraSettingsVO; import org.bigbluebutton.main.model.users.BBBUser; - + import org.bigbluebutton.util.SessionTokenUtil; + public class UsersUtil { @@ -194,7 +195,7 @@ package org.bigbluebutton.core return null; } - public static function getUserData():Object { + private static function getUserData():Object { var userData:Object = new Object(); userData.meetingId = getInternalMeetingID(); userData.externalMeetingId = getExternalMeetingID(); @@ -215,5 +216,20 @@ package org.bigbluebutton.core return false; } + + public static function initLogData():Object { + var logData:Object = new Object(); + if (getInternalMeetingID() != null) { + logData.user = UsersUtil.getUserData(); + } + logData.sessionToken = getUserSession(); + return logData; + } + + public static function getUserSession():String { + var sessionUtil:SessionTokenUtil = new SessionTokenUtil() + return sessionUtil.getSessionToken(); + } + } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as index 7c684a195e12f1625542a2c70f9ce57baf086dcb..fe094f6dd7dbe9747859fe0d7653eceef578296b 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as @@ -85,12 +85,9 @@ package org.bigbluebutton.core.managers public function onDisconnected(type:String, callback:Function, parameters:Array):void { if (!_canceled) { - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); logData.user.connection = type; - - JSLog.warn("Connection disconnected", logData); - + logData.tags = ["connection"]; logData.message = "Connection disconnected"; LOGGER.info(JSON.stringify(logData)); @@ -110,14 +107,9 @@ package org.bigbluebutton.core.managers } public function onConnectionAttemptFailed(type:String):void { - LOGGER.warn("onConnectionAttemptFailed, type={0}", [type]); - - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); - logData.user.connection = type; - - JSLog.warn("Reconnect attempt on connection failed.", logData); - + var logData:Object = UsersUtil.initLogData(); + logData.user.connection = type; + logData.tags = ["connection"]; logData.message = "Reconnect attempt on connection failed."; LOGGER.info(JSON.stringify(logData)); @@ -150,13 +142,9 @@ package org.bigbluebutton.core.managers } public function onConnectionAttemptSucceeded(type:String):void { - LOGGER.debug("onConnectionAttemptSucceeded, type={0}", [type]); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); logData.user.connection = type; - - JSLog.warn("Reconnect succeeded.", logData); - + logData.tags = ["connection"]; logData.message = "Reconnect succeeded."; LOGGER.info(JSON.stringify(logData)); diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/model/VideoProfile.as b/bigbluebutton-client/src/org/bigbluebutton/core/model/VideoProfile.as old mode 100644 new mode 100755 index 72aa9c878f1661531b8ad1ec365ac7fda78f25bc..6d59301bed663c546b4b93a8020ca9defbb657f8 --- a/bigbluebutton-client/src/org/bigbluebutton/core/model/VideoProfile.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/model/VideoProfile.as @@ -19,10 +19,10 @@ package org.bigbluebutton.core.model { import flash.utils.Dictionary; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; - import org.bigbluebutton.util.i18n.ResourceUtil; + import org.bigbluebutton.util.i18n.ResourceUtil; public class VideoProfile { @@ -89,8 +89,11 @@ package org.bigbluebutton.core.model _h264Profile = vxml.h264Profile.toString(); } - LOGGER.debug("This is a new video profile"); - LOGGER.debug(this.toString()); + var logData:Object = UsersUtil.initLogData(); + logData.videoProfile = this.toString(); + logData.tags = ["video"]; + logData.message = "Loaded new video profile."; + LOGGER.info(JSON.stringify(logData)); } public function toString():String { diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/PortTest.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/PortTest.as index faf05a8cfea82b42515b682d1e12b401cc772ec4..1c4f27e3a64fd24ad8cc41d782fa9c997af2453d 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/PortTest.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/PortTest.as @@ -1,3 +1,265 @@ -/** * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ * * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below). * * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software * Foundation; either version 3.0 of the License, or (at your option) any later * version. * * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. * */ package org.bigbluebutton.main.model { import flash.events.NetStatusEvent; import flash.events.TimerEvent; import flash.net.NetConnection; import flash.net.ObjectEncoding; import flash.utils.Timer; import flash.utils.Dictionary; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; [Bindable] /** * Test RTMP port. * * @author Thijs Triemstra ( info@collab.nl ) */ public class PortTest { private static const LOGGER:ILogger = getClassLogger(PortTest); /** * Connect using rtmp or rtmpt. */ private var tunnel: Boolean; /** * RTMP hostname. */ private var hostname : String; /** * RTMP port. */ public var port : String; /** * RTMP port. */ public var portName : String = "Default"; /** * RTMP application. */ private var application : String; /** * Base RTMP URI. */ private var baseURI : String; /** * RTMP connection. */ public var nc : NetConnection; /** * Connection status. */ public var status : String; private var _connectionListener:Function; /** * Timer to control timeout of connection test */ private var testTimeout:Number = 0; /** * Timer to control timeout of connection test */ private var connectionTimer:Timer; private var closeConnectionTimer:Timer; /** * Set default encoding to AMF0 so FMS also understands. */ NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0; /** * Create new port test and connect to the RTMP server. * * @param protocol * @param hostname * @param port * @param application * @testTimeout timeout of test in milliseconds */ public function PortTest( tunnel : Boolean, hostname : String = "", port : String = "", application : String = "", testTimeout : Number = 10000) { this.tunnel = tunnel; this.hostname = hostname; this.application = application; this.testTimeout = testTimeout; if ( port.length > 0 ) { this.portName = port; this.port = ":" + port; } else { this.port = port; } // Construct URI. if (tunnel) { this.baseURI = "rtmpt://" + this.hostname + "/" + this.application; } else { this.baseURI = "rtmp://" + this.hostname + this.port + "/" + this.application; } } /** * Start connection. */ public function connect():void { nc = new NetConnection(); nc.client = this; - nc.proxyType = "best"; - nc.addEventListener( NetStatusEvent.NET_STATUS, netStatus ); // connect to server try { LOGGER.debug("Testing connection to " + this.baseURI); connectionTimer = new Timer(testTimeout, 1); connectionTimer.addEventListener(TimerEvent.TIMER, connectionTimeout); connectionTimer.start(); var curTime:Number = new Date().getTime(); // Create connection with the server. nc.connect( this.baseURI, "portTestMeetingId-" + curTime, "portTestDummyUserId-" + curTime); status = "Connecting..."; } catch( e : ArgumentError ) { // Invalid parameters. status = "ERROR: " + e.message; } } /** * Method called when connection timed out */ public function connectionTimeout (e:TimerEvent) : void { LOGGER.debug("Timedout trying to connect to " + this.baseURI); status = "FAILED"; _connectionListener(status, tunnel, hostname, port, application); closeConnection(); } /** * Close connection. */ private function close():void { LOGGER.debug("Closing port test connection."); var dc:Dictionary = new Dictionary(true); nc.client = dc; // Remove listener. nc.removeEventListener( NetStatusEvent.NET_STATUS, netStatus ); // Close the NetConnection. nc.close(); } private function closeConnection():void { closeConnectionTimer = new Timer(100, 1); closeConnectionTimer.addEventListener(TimerEvent.TIMER, closeConnectionTimerHandler); closeConnectionTimer.start(); } private function closeConnectionTimerHandler (e:TimerEvent) : void { LOGGER.debug("Closing connection to " + this.baseURI); close(); } /** * Catch NetStatusEvents. * * @param event */ protected function netStatus(event : NetStatusEvent):void { //Stop timeout timer when connected/rejected connectionTimer.stop(); var info : Object = event.info; var statusCode : String = info.code; if ( statusCode == "NetConnection.Connect.Success" ) { status = "SUCCESS"; LOGGER.debug("Successfully connected to " + this.baseURI); _connectionListener(status, tunnel, hostname, port, application); } else if ( statusCode == "NetConnection.Connect.Rejected" || statusCode == "NetConnection.Connect.Failed" || statusCode == "NetConnection.Connect.Closed" ) { LOGGER.debug("Failed to connect to " + this.baseURI); status = "FAILED"; _connectionListener(status, tunnel, hostname, port, application); } closeConnection(); } public function onBWCheck(... rest):Number { return 0; } public function onBWDone(... rest):void { var p_bw:Number; if (rest.length > 0) p_bw = rest[0]; // your application should do something here // when the bandwidth check is complete LOGGER.debug("bandwidth = {0} Kbps.", [p_bw]); } public function addConnectionSuccessListener(listener:Function):void { _connectionListener = listener; } } } +/** +* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ +* +* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below). +* +* This program is free software; you can redistribute it and/or modify it under the +* terms of the GNU Lesser General Public License as published by the Free Software +* Foundation; either version 3.0 of the License, or (at your option) any later +* version. +* +* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY +* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License along +* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. +* +*/ +package org.bigbluebutton.main.model +{ + + import flash.events.NetStatusEvent; + import flash.events.TimerEvent; + import flash.net.NetConnection; + import flash.net.ObjectEncoding; + import flash.utils.Timer; + import flash.utils.Dictionary; + import org.bigbluebutton.core.UsersUtil; + import org.as3commons.logging.api.ILogger; + import org.as3commons.logging.api.getClassLogger; + + [Bindable] + /** + * Test RTMP port. + * + * @author Thijs Triemstra ( info@collab.nl ) + */ + public class PortTest + { + private static const LOGGER:ILogger = getClassLogger(PortTest); + + /** + * Connect using rtmp or rtmpt. + */ + private var tunnel: Boolean; + + /** + * RTMP hostname. + */ + private var hostname : String; + + /** + * RTMP port. + */ + public var port : String; + + /** + * RTMP port. + */ + public var portName : String = "Default"; + + /** + * RTMP application. + */ + private var application : String; + + /** + * Base RTMP URI. + */ + private var baseURI : String; + + /** + * RTMP connection. + */ + public var nc : NetConnection; + + /** + * Connection status. + */ + public var status : String; + + private var _connectionListener:Function; + + /** + * Timer to control timeout of connection test + */ + private var testTimeout:Number = 0; + + /** + * Timer to control timeout of connection test + */ + private var connectionTimer:Timer; + + private var closeConnectionTimer:Timer; + + /** + * Set default encoding to AMF0 so FMS also understands. + */ + NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0; + + /** + * Create new port test and connect to the RTMP server. + * + * @param protocol + * @param hostname + * @param port + * @param application + * @testTimeout timeout of test in milliseconds + */ + public function PortTest( tunnel : Boolean, + hostname : String = "", + port : String = "", + application : String = "", + testTimeout : Number = 10000) { + this.tunnel = tunnel; + this.hostname = hostname; + this.application = application; + this.testTimeout = testTimeout; + + if ( port.length > 0 ) { + this.portName = port; + this.port = ":" + port; + } else { + this.port = port; + } + // Construct URI. + if (tunnel) { + this.baseURI = "rtmpt://" + this.hostname + "/" + this.application; + } else { + this.baseURI = "rtmp://" + this.hostname + this.port + "/" + this.application; + } + } + + /** + * Start connection. + */ + public function connect():void { + nc = new NetConnection(); + nc.client = this; + nc.proxyType = "best"; + + nc.addEventListener( NetStatusEvent.NET_STATUS, netStatus ); + // connect to server + try { + var logData:Object = UsersUtil.initLogData(); + logData.connection = this.baseURI; + logData.tags = ["connection"]; + logData.message = "Port testing connection."; + LOGGER.info(JSON.stringify(logData)); + + connectionTimer = new Timer(testTimeout, 1); + connectionTimer.addEventListener(TimerEvent.TIMER, connectionTimeout); + connectionTimer.start(); + + var curTime:Number = new Date().getTime(); + // Create connection with the server. + nc.connect( this.baseURI, "portTestMeetingId-" + curTime, "portTestDummyUserId-" + curTime); + status = "Connecting..."; + } catch( e : ArgumentError ) { + // Invalid parameters. + status = "ERROR: " + e.message; + } + } + + /** + * Method called when connection timed out + */ + public function connectionTimeout (e:TimerEvent) : void { + var logData:Object = UsersUtil.initLogData(); + logData.connection = this.baseURI; + logData.tags = ["connection"]; + logData.message = "Port testing connection timedout."; + LOGGER.info(JSON.stringify(logData)); + + status = "FAILED"; + _connectionListener(status, tunnel, hostname, port, application); + closeConnection(); + } + + /** + * Close connection. + */ + private function close():void { + var dc:Dictionary = new Dictionary(true); + nc.client = dc; + // Remove listener. + nc.removeEventListener( NetStatusEvent.NET_STATUS, netStatus ); + // Close the NetConnection. + nc.close(); + + } + + + private function closeConnection():void { + closeConnectionTimer = new Timer(100, 1); + closeConnectionTimer.addEventListener(TimerEvent.TIMER, closeConnectionTimerHandler); + closeConnectionTimer.start(); + } + + private function closeConnectionTimerHandler (e:TimerEvent) : void { + var logData:Object = UsersUtil.initLogData(); + logData.connection = this.baseURI; + logData.tags = ["connection"]; + logData.message = "Closing port testing connection."; + LOGGER.info(JSON.stringify(logData)); + + close(); + } + + /** + * Catch NetStatusEvents. + * + * @param event + * */ + protected function netStatus(event : NetStatusEvent):void { + + //Stop timeout timer when connected/rejected + connectionTimer.stop(); + + var info : Object = event.info; + var statusCode : String = info.code; + + var logData:Object = UsersUtil.initLogData(); + logData.connection = this.baseURI; + logData.tags = ["connection"]; + + + if ( statusCode == "NetConnection.Connect.Success" ) { + status = "SUCCESS"; + logData.message = "Port test successfully connected."; + LOGGER.info(JSON.stringify(logData)); + + _connectionListener(status, tunnel, hostname, port, application); + } else if ( statusCode == "NetConnection.Connect.Rejected" || + statusCode == "NetConnection.Connect.Failed" || + statusCode == "NetConnection.Connect.Closed" ) { + + logData.message = "Port test failed to connect."; + LOGGER.info(JSON.stringify(logData)); + + status = "FAILED"; + _connectionListener(status, tunnel, hostname, port, application); + + } + + //closeConnection(); + } + + public function onBWCheck(... rest):Number { + return 0; + } + + public function onBWDone(... rest):void { + var p_bw:Number; + if (rest.length > 0) p_bw = rest[0]; + // your application should do something here + // when the bandwidth check is complete + LOGGER.debug("bandwidth = {0} Kbps.", [p_bw]); + } + + public function addConnectionSuccessListener(listener:Function):void { + _connectionListener = listener; + } + } +} diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/EnterApiService.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/EnterApiService.as index c499fbddbf224228a4d757d3ce5d41e8e8d0252e..a5cac6a9fd97a0b856f979517fbf51c55f2f45c7 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/EnterApiService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/EnterApiService.as @@ -9,7 +9,7 @@ package org.bigbluebutton.main.model.modules import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.as3commons.logging.util.jsonXify; @@ -59,13 +59,21 @@ package org.bigbluebutton.main.model.modules var result:Object = JSON.parse(e.target.data); LOGGER.debug("Enter response = {0}", [jsonXify(result)]); + var logData:Object = UsersUtil.initLogData + var returncode:String = result.response.returncode; if (returncode == 'FAILED') { - LOGGER.error("Enter API call FAILED = {0}", [jsonXify(result)]); + logData.tags = ["initialization"]; + logData.message = "Enter API call failed."; + LOGGER.info(JSON.stringify(logData)); + var dispatcher:Dispatcher = new Dispatcher(); dispatcher.dispatchEvent(new MeetingNotFoundEvent(result.response.logoutURL)); } else if (returncode == 'SUCCESS') { - LOGGER.debug("Enter API call SUCESS = {0}", [jsonXify(result)]); + logData.tags = ["initialization"]; + logData.message = "Enter API call succeeded."; + LOGGER.info(JSON.stringify(logData)); + var response:Object = new Object(); response.username = result.response.fullname; response.userId = result.response.internalUserID; diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as index b7aa4724373451d46053f08d09e5fe462bd27184..4eeeb8a8fd0900bd66da3b4476b5f07137000104 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as @@ -32,7 +32,7 @@ package org.bigbluebutton.main.model.modules import org.bigbluebutton.main.events.ModuleLoadEvent; import org.bigbluebutton.main.events.PortTestEvent; import org.bigbluebutton.main.events.UserServicesEvent; - import org.bigbluebutton.main.model.ConfigParameters; + import org.bigbluebutton.main.model.ConfigParameters; public class ModulesDispatcher { @@ -111,31 +111,11 @@ package org.bigbluebutton.main.model.modules dispatcher.dispatchEvent(evt); } - public function sendTunnelingFailedEvent(server: String, app: String):void{ - var logData:Object = new Object(); - logData.server = server; - logData.app = app; - logData.userId = meetingInfo.userId; - logData.username = meetingInfo.username; - logData.meetingName = meetingInfo.meetingName; - logData.meetingId = meetingInfo.meetingId; - LOGGER.fatal("Cannot connect to Red5 using RTMP and RTMPT {0}", [jsonXify(logData)]); - JSLog.critical("Cannot connect to Red5 using RTMP and RTMPT", logData); - + public function sendTunnelingFailedEvent(server: String, app: String):void{ dispatcher.dispatchEvent(new PortTestEvent(PortTestEvent.TUNNELING_FAILED)); } public function sendPortTestSuccessEvent(port:String, host:String, tunnel:Boolean, app:String):void{ - var logData:Object = new Object(); - logData.port = port; - logData.server = host; - logData.tunnel = tunnel; - logData.app = app; - logData.userId = meetingInfo.userId; - logData.username = meetingInfo.username; - logData.meetingName = meetingInfo.meetingName; - logData.meetingId = meetingInfo.meetingId; - JSLog.debug("Successfully connected on test connection.", logData); var portEvent:PortTestEvent = new PortTestEvent(PortTestEvent.PORT_TEST_SUCCESS); portEvent.port = port; diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesProxy.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesProxy.as index fea887fa47aba690ae15cea8d86bf71af4295cc5..58fcc15ea5ae70f6c01232f76191f04e858f9218 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesProxy.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesProxy.as @@ -21,7 +21,8 @@ package org.bigbluebutton.main.model.modules import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.main.model.ConferenceParameters; - import org.bigbluebutton.main.model.PortTestProxy; + import org.bigbluebutton.main.model.PortTestProxy; + import org.bigbluebutton.core.UsersUtil; public class ModulesProxy { private static const LOGGER:ILogger = getClassLogger(ModulesProxy); @@ -43,7 +44,12 @@ package org.bigbluebutton.main.model.modules } public function portTestSuccess(tunnel:Boolean):void { - LOGGER.debug("Successfully tested connection to server. isTunnelling=" + tunnel); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["initialization"]; + logData.tunnel = tunnel; + logData.message = "Successfully tested connection to server."; + LOGGER.info(JSON.stringify(logData)); + modulesManager.useProtocol(tunnel); modulesManager.startUserServices(); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as old mode 100644 new mode 100755 index 61022aa41a66fe7c82fe9f8a4cc8a44d0b5f4744..8cbf366250d46ee6034e9d0a19990ce438dfc6be --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as @@ -1,4 +1,4 @@ -/** + /** * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ * * Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below). diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/JoinService.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/JoinService.as index 9b2d9f1ff35113193e9fd59c031978588733997e..2e4b15c1983b12d150fb547090f3b4da5e4ed1d3 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/JoinService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/JoinService.as @@ -27,7 +27,7 @@ package org.bigbluebutton.main.model.users import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.as3commons.logging.util.jsonXify; @@ -80,62 +80,74 @@ package org.bigbluebutton.main.model.users } private function ioErrorHandler(event:IOErrorEvent):void { - LOGGER.error("ioErrorHandler: {0}", [event]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["initialization"]; + logData.message = "IOError calling ENTER api."; + LOGGER.error(JSON.stringify(logData)); + var e:ConnectionFailedEvent = new ConnectionFailedEvent(ConnectionFailedEvent.USER_LOGGED_OUT); var dispatcher:Dispatcher = new Dispatcher(); dispatcher.dispatchEvent(e); } private function handleComplete(e:Event):void { - var result:Object = JSON.parse(e.target.data); - LOGGER.debug("Enter response = {0}" + [jsonXify(result)]); + var result:Object = JSON.parse(e.target.data); + + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["initialization"]; + - var returncode:String = result.response.returncode; - if (returncode == 'FAILED') { - LOGGER.error("Join FAILED = {0}", [jsonXify(result)]); - var dispatcher:Dispatcher = new Dispatcher(); - dispatcher.dispatchEvent(new MeetingNotFoundEvent(result.response.logoutURL)); - } else if (returncode == 'SUCCESS') { - LOGGER.debug("Join SUCESS = {0}", [jsonXify(result)]); - var response:Object = new Object(); - response.username = result.response.fullname; - response.conference = result.response.conference; - response.conferenceName = result.response.confname; - response.externMeetingID = result.response.externMeetingID; - response.meetingID = result.response.meetingID; - response.isBreakout = result.response.isBreakout; - response.externUserID = result.response.externUserID; - response.internalUserId = result.response.internalUserID; - response.role = result.response.role; - response.room = result.response.room; - response.authToken = result.response.authToken; - response.record = result.response.record; - response.allowStartStopRecording = result.response.allowStartStopRecording; - response.webvoiceconf = result.response.webvoiceconf; - response.dialnumber = result.response.dialnumber; - response.voicebridge = result.response.voicebridge; - response.mode = result.response.mode; - response.welcome = result.response.welcome; - response.logoutUrl = result.response.logoutUrl; - response.defaultLayout = result.response.defaultLayout; - response.avatarURL = result.response.avatarURL + var returncode:String = result.response.returncode; + if (returncode == 'FAILED') { + logData.message = "Calling ENTER api failed."; + LOGGER.info(JSON.stringify(logData)); + + var dispatcher:Dispatcher = new Dispatcher(); + dispatcher.dispatchEvent(new MeetingNotFoundEvent(result.response.logoutURL)); + } else if (returncode == 'SUCCESS') { + logData.message = "Calling ENTER api succeeded."; + LOGGER.info(JSON.stringify(logData)); + + var response:Object = new Object(); + response.username = result.response.fullname; + response.conference = result.response.conference; + response.conferenceName = result.response.confname; + response.externMeetingID = result.response.externMeetingID; + response.meetingID = result.response.meetingID; + response.isBreakout = result.response.isBreakout; + response.externUserID = result.response.externUserID; + response.internalUserId = result.response.internalUserID; + response.role = result.response.role; + response.room = result.response.room; + response.authToken = result.response.authToken; + response.record = result.response.record; + response.allowStartStopRecording = result.response.allowStartStopRecording; + response.webvoiceconf = result.response.webvoiceconf; + response.dialnumber = result.response.dialnumber; + response.voicebridge = result.response.voicebridge; + response.mode = result.response.mode; + response.welcome = result.response.welcome; + response.logoutUrl = result.response.logoutUrl; + response.defaultLayout = result.response.defaultLayout; + response.avatarURL = result.response.avatarURL - if (result.response.hasOwnProperty("modOnlyMessage")) { - response.modOnlyMessage = result.response.modOnlyMessage; - MeetingModel.getInstance().modOnlyMessage = response.modOnlyMessage; - } + if (result.response.hasOwnProperty("modOnlyMessage")) { + response.modOnlyMessage = result.response.modOnlyMessage; + MeetingModel.getInstance().modOnlyMessage = response.modOnlyMessage; + } - response.customdata = new Object(); + response.customdata = new Object(); - if (result.response.customdata) { - var cdata:Array = result.response.customdata as Array; - for each (var item:Object in cdata) { - for (var id:String in item) { - var value:String = item[id] as String; - response.customdata[id] = value; - } - } - } + if (result.response.customdata) { + var cdata:Array = result.response.customdata as Array; + for each (var item:Object in cdata) { + for (var id:String in item) { + var value:String = item[id] as String; + response.customdata[id] = value; + } + } + + } UsersModel.getInstance().me = new MeBuilder(response.internalUserId, response.username).withAvatar(response.avatarURL) .withExternalId(response.externUserID).withToken(response.authToken) diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as index d3e4860ac90f226c0784efba6ae632e7a2eb62f4..7b5cad45d88fa94b13458a3bf211cfa1104c1c06 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as @@ -105,9 +105,8 @@ package org.bigbluebutton.main.model.users } private function validataTokenTimerHandler(event:TimerEvent):void { - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); - JSLog.critical("No response for validate token request.", logData); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; logData.message = "No response for validate token request."; LOGGER.info(JSON.stringify(logData)); } @@ -154,10 +153,8 @@ package org.bigbluebutton.main.model.users var tokenValid: Boolean = map.valid as Boolean; var userId: String = map.userId as String; - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); - JSLog.critical("Validate auth token timed out.", logData); - + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; logData.message = "Validate auth token timed out."; LOGGER.info(JSON.stringify(logData)); @@ -308,35 +305,37 @@ package org.bigbluebutton.main.model.users var info : Object = event.info; var statusCode : String = info.code; - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; switch (statusCode) { case "NetConnection.Connect.Success": numNetworkChangeCount = 0; logData.message = "Successfully connected to BBB App."; LOGGER.info(JSON.stringify(logData)); - validateToken(); + validateToken(); break; case "NetConnection.Connect.Failed": - LOGGER.error(":Connection to viewers application failed...even when tunneling"); - sendConnectionFailedEvent(ConnectionFailedEvent.CONNECTION_FAILED); + logData.message = "Connection to bbb-apps failed, even when tunneling."; + LOGGER.info(JSON.stringify(logData)); + sendConnectionFailedEvent(ConnectionFailedEvent.CONNECTION_FAILED); break; case "NetConnection.Connect.Closed": logData.message = "NetConnection.Connect.Closed on bbb-apps"; LOGGER.info(JSON.stringify(logData)); - sendConnectionFailedEvent(ConnectionFailedEvent.CONNECTION_CLOSED); + sendConnectionFailedEvent(ConnectionFailedEvent.CONNECTION_CLOSED); break; - case "NetConnection.Connect.InvalidApp": - LOGGER.debug(":viewers application not found on server"); + case "NetConnection.Connect.InvalidApp": + logData.message = "bbb-app not found."; + LOGGER.info(JSON.stringify(logData)); sendConnectionFailedEvent(ConnectionFailedEvent.INVALID_APP); break; case "NetConnection.Connect.AppShutDown": - LOGGER.debug(":viewers application has been shutdown"); + LOGGER.debug(":viewers application has been shutdown"); sendConnectionFailedEvent(ConnectionFailedEvent.APP_SHUTDOWN); break; @@ -363,12 +362,19 @@ package org.bigbluebutton.main.model.users } protected function netSecurityError(event: SecurityErrorEvent):void { - LOGGER.error("Security error - {0}", [event.text]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Security error - " + event.text; + LOGGER.info(JSON.stringify(logData)); sendConnectionFailedEvent(ConnectionFailedEvent.UNKNOWN_REASON); } protected function netIOError(event: IOErrorEvent):void { - LOGGER.error("Input/output error - {0}", [event.text]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Input/output error - " + event.text; + LOGGER.info(JSON.stringify(logData)); + sendConnectionFailedEvent(ConnectionFailedEvent.UNKNOWN_REASON); } @@ -378,11 +384,11 @@ package org.bigbluebutton.main.model.users } private function sendConnectionFailedEvent(reason:String):void{ - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; if (this.logoutOnUserCommand) { logData.reason = "User requested."; - logData.user = UsersUtil.getUserData(); logData.message = "User logged out from BBB App."; LOGGER.info(JSON.stringify(logData)); @@ -390,7 +396,6 @@ package org.bigbluebutton.main.model.users } else if (reason == ConnectionFailedEvent.CONNECTION_CLOSED && !UsersUtil.isUserEjected()) { // do not try to reconnect if the connection failed is different than CONNECTION_CLOSED logData.reason = reason; - logData.user = UsersUtil.getUserData(); logData.message = "User disconnected from BBB App."; LOGGER.info(JSON.stringify(logData)); @@ -411,14 +416,16 @@ package org.bigbluebutton.main.model.users } else { if (UsersUtil.isUserEjected()) { - logData.user = UsersUtil.getUserData(); logData.message = "User has been ejected from meeting."; LOGGER.info(JSON.stringify(logData)); reason = ConnectionFailedEvent.USER_EJECTED_FROM_MEETING; + } else { + logData.message = "Connection failed event - " + reason; + LOGGER.info(JSON.stringify(logData)); + var e:ConnectionFailedEvent = new ConnectionFailedEvent(reason); + dispatcher.dispatchEvent(e); } - LOGGER.debug("Connection failed event - " + reason); - var e:ConnectionFailedEvent = new ConnectionFailedEvent(reason); - dispatcher.dispatchEvent(e); + } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml index b8ceb6b8de1664adc5457c327baae04a8aa0d1b4..ac461d35064fc6202b3ab69a15578619e2057eab 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml @@ -39,7 +39,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. import com.asfusion.mate.events.Dispatcher; import flash.ui.Keyboard; - + import org.bigbluebutton.core.UsersUtil; import mx.controls.sliderClasses.Slider; import mx.events.CloseEvent; import mx.events.SliderEvent; @@ -100,7 +100,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function reInitialize():void { my_nc = new NetConnection(); - my_nc.proxyType = "best"; + my_nc.proxyType = "best"; my_nc.connect(null); nsStream = new NetStream(my_nc); if (mic != null) { @@ -127,14 +127,21 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. audioMicLevelDetected = 0; } - private function micStatusEventHandler(event:StatusEvent):void { + private function micStatusEventHandler(event:StatusEvent):void { + var logData:Object = UsersUtil.initLogData(); + switch(event.code) { - case "Microphone.Muted": - LOGGER.debug("Access to microphone has been denied."); + case "Microphone.Muted": + logData.tags = ["voice", "flash"]; + logData.message = "Access to microphone has been denied."; + LOGGER.info(JSON.stringify(logData)); statusText.text = "You did not allow Flash to access your mic."; break; case "Microphone.Unmuted": - LOGGER.debug("Access to the microphone has been allowed."); + logData.tags = ["voice", "flash"]; + logData.message = "Access to the microphone has been allowed."; + LOGGER.info(JSON.stringify(logData)); + // Comment these next 2-lines. We don't want the user hearing audio // while testing mic levels. (richard mar 26, 2014) // mic.setLoopBack(true); @@ -155,7 +162,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. micActivityTimer.start(); } - private function onCreationComplete():void { + private function onCreationComplete():void { LOGGER.debug("onCreationComplete. Seeting state to [flashMicSettingsTest]"); microphoneList = Media.getMicrophoneNames(); setupForMicLoopbackTest(); @@ -252,7 +259,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function onCancelClicked():void { - LOGGER.debug("onCancelClicked closing popup"); cleanUp(); stopEchoTest(); var dispatcher:Dispatcher = new Dispatcher(); @@ -292,7 +298,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function yesButtonClicked():void { - LOGGER.debug("Echo test passed."); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["voice"]; + logData.message = "Echo test passed."; + LOGGER.info(JSON.stringify(logData)); + cleanUp(); dispatchEvent(new FlashEchoTestHasAudioEvent()); var dispatcher:Dispatcher = new Dispatcher(); @@ -301,7 +311,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function noButtonClicked():void { - LOGGER.debug("Echo test failed."); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["voice"]; + logData.message = "Echo test failed."; + LOGGER.info(JSON.stringify(logData)); + dispatchEvent(new FlashEchoTestNoAudioEvent()); testMicrophoneLoopback(); setupForMicLoopbackTest(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml index 230deeb12e28204dd0fbd9a624066a4fb3d08441..ffa3e7ae610a24cbc71b140b767f41c81f5d4a3f 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml @@ -119,6 +119,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. import org.bigbluebutton.modules.users.views.BreakoutRoomSettings; import org.bigbluebutton.modules.videoconf.events.ShareCameraRequestEvent; import org.bigbluebutton.util.i18n.ResourceUtil; + import org.bigbluebutton.core.UsersUtil; private static const LOGGER:ILogger = getClassLogger(MainApplicationShell); @@ -222,14 +223,27 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function handleApplicationVersionEvent(event:AppVersionEvent):void { + var logData:Object = UsersUtil.initLogData(); + if (event.configLocaleVersion == true) { receivedConfigLocaleVer = true; appVersion = event.appVersion; localeVersion = event.localeVersion; + + logData.localeVersion = localeVersion; + logData.tags = ["locale"]; + logData.message = "Received locale version fron config.xml"; + LOGGER.info(JSON.stringify(logData)); + LOGGER.debug("Received locale version fron config.xml"); } else { receivedResourceLocaleVer = true; - LOGGER.debug("Received locale version fron locale file."); + localeVersion = event.localeVersion; + + logData.localeVersion = localeVersion; + logData.tags = ["locale"]; + logData.message = "Received locale version fronm locale file"; + LOGGER.info(JSON.stringify(logData)); } if (receivedConfigLocaleVer && receivedResourceLocaleVer) { @@ -252,11 +266,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function fullScreenHandler(evt:FullScreenEvent):void { dispState = stage.displayState + " (fullScreen=" + evt.fullScreen.toString() + ")"; if (evt.fullScreen) { - LOGGER.debug("Switching to full screen"); /* Do something specific here if we switched to full screen mode. */ } else { - LOGGER.debug("Switching to normal screen"); /* Do something specific here if we switched to normal mode. */ } } @@ -286,16 +298,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function toggleFullScreen():void{ - LOGGER.debug("Toggling fullscreen"); try { switch (stage.displayState) { case StageDisplayState.FULL_SCREEN: - LOGGER.debug("full screen mode"); // If already in full screen mode, switch to normal mode. stage.displayState = StageDisplayState.NORMAL; break; default: - LOGGER.debug("Normal screen mode"); // If not in full screen mode, switch to full screen mode. stage.displayState = StageDisplayState.FULL_SCREEN; break; @@ -630,7 +639,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function onFooterLinkClicked(e:TextEvent):void{ - LOGGER.debug("Clicked on link[{0}] from footer", [e.text]); if (ExternalInterface.available) { ExternalInterface.call("chatLinkClicked", e.text); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml index 5d1841b93abf8a28cf15308e05efc5cc59c6bedd..f73c205eb38f9be439a7efa1612abfbb035c3bc6 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml @@ -187,8 +187,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function logFlashPlayerCapabilities():void { - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["initialization"]; logData.capabilities = getFlashPlayerCapabilities(); logData.message = "Flash Player Capabilities."; LOGGER.info(JSON.stringify(logData)); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml index d8001da96670d90f55d621dd22229761aef5d613..4435fe9a5c53eebddd1b23951e7b7edfcc416c0c 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml @@ -101,13 +101,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. userClosed = true; - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); logData.reason = "User requested."; - logData.user = UsersUtil.getUserData(); + logData.tags = ["voice", "webrtc"]; logData.message = "WebRtc Echo test passed."; - - JSLog.info("WebRtc Echo test passed.", logData); - LOGGER.info(JSON.stringify(logData)); setCurrentState("connecting"); @@ -120,11 +117,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function noButtonClicked():void { userClosed = true; - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); logData.reason = "User requested."; - logData.user = UsersUtil.getUserData(); - logData.message = "WebRtc Echo test failed."; - + logData.tags = ["voice", "webrtc"]; + logData.message = "WebRtc Echo test failed."; LOGGER.info(JSON.stringify(logData)); var dispatcher:Dispatcher = new Dispatcher(); @@ -190,9 +186,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function webRTCCallStarted():void { - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); logData.reason = "User requested."; - logData.user = UsersUtil.getUserData(); + logData.tags = ["voice", "webrtc"]; logData.message = "WebRtc call started."; LOGGER.info(JSON.stringify(logData)); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as old mode 100644 new mode 100755 index 18526f150aae6e1aa7ee1339e8a111c11ce7cff2..57eb6a74c19973bde61a624af421b981f6f85bb9 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as @@ -16,16 +16,16 @@ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. * */ -package org.bigbluebutton.modules.layout.model { - import flash.utils.Dictionary; - - import flexlib.mdi.containers.MDICanvas; - import flexlib.mdi.containers.MDIWindow; - - import org.as3commons.logging.api.ILogger; - import org.as3commons.logging.api.getClassLogger; - import org.bigbluebutton.common.Role; - import org.bigbluebutton.core.managers.UserManager; +package org.bigbluebutton.modules.layout.model { + import flash.utils.Dictionary; + + import flexlib.mdi.containers.MDICanvas; + import flexlib.mdi.containers.MDIWindow; + import org.bigbluebutton.core.UsersUtil; + import org.as3commons.logging.api.ILogger; + import org.as3commons.logging.api.getClassLogger; + import org.bigbluebutton.common.Role; + import org.bigbluebutton.core.managers.UserManager; public class LayoutDefinition { @@ -92,8 +92,11 @@ package org.bigbluebutton.modules.layout.model { } else if (hasPresenterLayout) { return _layoutsPerRole[Role.PRESENTER]; } else { - LOGGER.error("There's no layout that fits the participants profile"); - //trace(LOG + "getMyLayout There's no layout that fits the participants profile"); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["layout"]; + logData.message = "There's no layout that fits the participants profile."; + LOGGER.error(JSON.stringify(logData)); + return null; } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as index a3eaa9085b6eddd71cc3df962148915cdb52ce00..7d4e2357b50d02194697d72ef2a80d83be8d3114 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as @@ -148,18 +148,18 @@ package org.bigbluebutton.modules.phone.managers { var info : Object = event.info; var statusCode : String = info.code; - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); switch (statusCode) { case "NetConnection.Connect.Success": numNetworkChangeCount = 0; - LOGGER.debug("Connection success"); - JSLog.debug("Successfully connected to BBB Voice", logData); + logData.tags = ["voice", "flash"]; + logData.message = "Connection success."; + LOGGER.info(JSON.stringify(logData)); handleConnectionSuccess(); break; case "NetConnection.Connect.Failed": - JSLog.error("Failed to connect to BBB Voice", logData); + logData.tags = ["voice", "flash"]; logData.message = "NetConnection.Connect.Failed from bbb-voice"; LOGGER.info(JSON.stringify(logData)); handleConnectionFailed(); @@ -167,13 +167,14 @@ package org.bigbluebutton.modules.phone.managers { case "NetConnection.Connect.NetworkChange": numNetworkChangeCount++; if (numNetworkChangeCount % 20 == 0) { + logData.tags = ["voice", "flash"]; logData.message = "Detected network change on bbb-voice"; logData.numNetworkChangeCount = numNetworkChangeCount; LOGGER.info(JSON.stringify(logData)); } break; case "NetConnection.Connect.Closed": - JSLog.debug("Disconnected from BBB Voice", logData); + logData.tags = ["voice", "flash"]; logData.message = "Disconnected from BBB Voice"; LOGGER.info(JSON.stringify(logData)); handleConnectionClosed(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as index 3d5ba4ee6319b9bab1501cf71456622989f144ca..bab48ef7345453058369ad83338c26fe72c2a40c 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as @@ -277,12 +277,11 @@ public function handleFlashCallConnectedEvent(event:FlashCallConnectedEvent):void { LOGGER.debug("handling FlashCallConnectedEvent, current state: {0}", [state]); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["voice", "flash"]; switch (state) { case CALLING_INTO_CONFERENCE: - JSLog.info("Successfully joined the voice conference.", logData); logData.message = "Successfully joined the voice conference"; LOGGER.info(jsonXify(logData)); state = IN_CONFERENCE; @@ -290,7 +289,6 @@ streamManager.callConnected(event.playStreamName, event.publishStreamName, event.codec, event.listenOnlyCall); break; case CONNECTING_TO_LISTEN_ONLY_STREAM: - JSLog.info("Successfully connected to the listen only stream.", logData); logData.message = "Successfully connected to the listen only stream."; LOGGER.info(jsonXify(logData)); state = ON_LISTEN_ONLY_STREAM; @@ -299,7 +297,6 @@ break; case CALLING_INTO_ECHO_TEST: state = IN_ECHO_TEST; - JSLog.info("Successfully called into the echo test application.", logData); logData.message = "Successfully called into the echo test application."; logData.publishStreamName = event.publishStreamName; logData.playStreamName = event.playStreamName; @@ -317,8 +314,8 @@ } public function handleFlashCallDisconnectedEvent(event:FlashCallDisconnectedEvent):void { - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["voice", "flash"]; LOGGER.debug("Flash call disconnected, current state: {0}", [state]); switch (state) { @@ -328,14 +325,12 @@ break; case ON_LISTEN_ONLY_STREAM: state = INITED; - JSLog.info("Flash user left the listen only stream.", logData); logData.message = "Flash user left the listen only stream."; LOGGER.info(jsonXify(logData)); dispatcher.dispatchEvent(new FlashLeftVoiceConferenceEvent()); break; case IN_ECHO_TEST: state = INITED; - JSLog.info("Flash echo test stopped.", logData); logData.message = "Flash echo test stopped."; LOGGER.info(jsonXify(logData)); @@ -347,8 +342,6 @@ break; case CALLING_INTO_ECHO_TEST: state = INITED; - JSLog.error("Unsuccessfully called into the echo test application.", logData); - logData.message = "Unsuccessfully called into the echo test application."; LOGGER.info(jsonXify(logData)); dispatcher.dispatchEvent(new FlashEchoTestFailedEvent()); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as index 7c0ea79396a6e7c288333e94debd60dbdebbac5e..fa182bb265371e07c876e632c1a0abb1b8c8f543 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as @@ -200,12 +200,10 @@ package org.bigbluebutton.modules.phone.managers errorString = ResourceUtil.getInstance().getString("bbb.webrtcWarning.failedError.unknown", [event.errorCode]); } - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); logData.user.reason = errorString; - logData.message = "WebRtc Echo test failed."; - JSLog.warn("WebRtc Echo test failed.", logData); - + logData.tags = ["voice", "webrtc"]; + logData.message = "WebRtc Echo test failed."; LOGGER.info(jsonXify(logData)); sendWebRTCAlert(ResourceUtil.getInstance().getString("bbb.webrtcWarning.title"), ResourceUtil.getInstance().getString("bbb.webrtcWarning.message", [errorString]), errorString); @@ -215,9 +213,9 @@ package org.bigbluebutton.modules.phone.managers model.state = Constants.INITED; var errorString:String = ResourceUtil.getInstance().getString("bbb.webrtcWarning.failedError.endedunexpectedly"); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); logData.user.reason = errorString; + logData.tags = ["voice", "webrtc"]; logData.message = "WebRtc Echo test ended unexpectedly."; LOGGER.info(jsonXify(logData)); @@ -256,8 +254,8 @@ package org.bigbluebutton.modules.phone.managers errorString = ResourceUtil.getInstance().getString("bbb.webrtcWarning.failedError.unknown", [event.errorCode]); } - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["voice", "webrtc"]; logData.user.reason = errorString; LOGGER.info(jsonXify(logData)); @@ -270,8 +268,7 @@ package org.bigbluebutton.modules.phone.managers model.state = Constants.INITED; var errorString:String = ResourceUtil.getInstance().getString("bbb.webrtcWarning.failedError.mediamissing"); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); logData.user.reason = errorString; LOGGER.info(jsonXify(logData)); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/FileUploadService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/FileUploadService.as old mode 100644 new mode 100755 index d9e57878dfe7930568e1d77a42a3819080f1ec47..11839bce8688bb8c5e0d6691436def93d205cfb1 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/FileUploadService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/FileUploadService.as @@ -29,13 +29,13 @@ package org.bigbluebutton.modules.present.business import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.modules.present.events.UploadCompletedEvent; import org.bigbluebutton.modules.present.events.UploadIoErrorEvent; import org.bigbluebutton.modules.present.events.UploadProgressEvent; - import org.bigbluebutton.modules.present.events.UploadSecurityErrorEvent; + import org.bigbluebutton.modules.present.events.UploadSecurityErrorEvent; public class FileUploadService { public static const ID:String = "FileUploadService"; @@ -125,8 +125,12 @@ package org.bigbluebutton.modules.present.business * */ private function onUploadIoError(event:IOErrorEvent):void { - if(event.errorID != 2038){ //upload works despite of this error. - LOGGER.error("onUploadIoError text: {0}, errorID: {1}", [event.text, event.errorID]); + if (event.errorID != 2038){ //upload works despite of this error. + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["presentation"]; + logData.message = "IOError while uploading presentation."; + LOGGER.error(JSON.stringify(logData)); + dispatcher.dispatchEvent(new UploadIoErrorEvent()); } @@ -138,8 +142,11 @@ package org.bigbluebutton.modules.present.business * */ private function onUploadSecurityError(event:SecurityErrorEvent) : void { - dispatcher.dispatchEvent(new UploadSecurityErrorEvent()); - LOGGER.error("A security error occured while trying to upload the presentation. {0}", [event.toString()]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["presentation"]; + logData.message = "Security error while uploading presentation."; + LOGGER.error(JSON.stringify(logData)); + dispatcher.dispatchEvent(new UploadSecurityErrorEvent()); } } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml old mode 100644 new mode 100755 index 6a78844833a91a91f73014f26f53c57122242f97..410e40c51e043ae9827744d4fdb5644b72204f91 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml @@ -44,7 +44,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <![CDATA[ import mx.collections.ArrayCollection; import mx.utils.StringUtil; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.common.Images; @@ -158,12 +158,17 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. if (fileSize > maxFileSizeBytes) { // Hardcode for now to 30M limit. // This should be configurable to match what's allowed in nginx. (ralam feb 23, 2010) - LOGGER.debug("File exceeds max limit:({0}>{1})", [fileSize, maxFileSizeBytes]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["presentation"]; + logData.message = "File exceeds max limit."; + logData.fileSizeBytes = fileSize; + logData.maxFileSizeBytes = maxFileSizeBytes; + LOGGER.error(JSON.stringify(logData)); + enableControls(); displayAlert(ResourceUtil.getInstance().getString('bbb.presentation.maxUploadFileExceededAlert')); } else { var presentationName:String = StringUtil.trim(fileToUpload.name); - LOGGER.debug("Uploading file : {0}", [presentationName]); progBarLbl.visible = true; lblFileName.enabled = false; diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml index 68ba332a19dbaaa436c1322652f77e5ca27f579d..fbf95f7a868d9ef21f09eae4d2e28d68efc026c3 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml @@ -58,6 +58,7 @@ import org.bigbluebutton.core.managers.ReconnectionManager; import org.bigbluebutton.main.events.BBBEvent; import org.bigbluebutton.modules.screenshare.services.red5.Connection; + import org.bigbluebutton.core.UsersUtil; private static const LOG:String = "SC::ScreenshareViewWIndow - "; private static const LOGGER:ILogger = getClassLogger(ScreenshareViewWindow); @@ -116,12 +117,13 @@ maximizeRestoreBtn.tabIndex = baseIndex+2; closeBtn.tabIndex = baseIndex+3; - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["screenshare"]; logData.width = videoWidth; logData.height = videoHeight; logData.streamId = streamId; - JSLog.debug(LOG + "onCreationComplete", logData); + LOGGER.info(JSON.stringify(logData)); } private function onResizeEndEvent(event:MDIWindowEvent):void { @@ -146,12 +148,13 @@ videoHeight = ScreenshareModel.getInstance().height; streamId = ScreenshareModel.getInstance().streamId; - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["screenshare"]; logData.width = videoWidth; logData.height = videoHeight; logData.streamId = streamId; - JSLog.debug(LOG + "viewScreenshareStream Chrome", logData); + LOGGER.info(JSON.stringify(logData)); ns = new NetStream(connection.getConnection()); ns.addEventListener( NetStatusEvent.NET_STATUS, onNetStatus ); @@ -176,11 +179,12 @@ public function onMetaData(info:Object):void{ trace("metadata: width=" + info.width + " height=" + info.height); - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["screenshare"]; logData.width = info.width; logData.height = info.height; - JSLog.debug(LOG + "onMetaData", logData); + LOGGER.info(JSON.stringify(logData)); } protected function updateButtonsPosition():void { @@ -207,23 +211,25 @@ private function onAsyncError(e:AsyncErrorEvent):void{ LOGGER.debug("asyncerror " + e.toString()); - var logData:Object = new Object(); - logData.error = e.toString(); - JSLog.debug(LOG + "asyncerror ", logData); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["screenshare"]; + logData.message = "asyncerror"; + LOGGER.info(JSON.stringify(logData)); } private function onNetStatus(e:NetStatusEvent):void{ - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["screenshare"]; logData.stream = streamId; switch(e.info.code){ case "NetStream.Play.Start": - LOGGER.debug("NetStream.Publish.Start for broadcast stream " + streamId); - JSLog.debug(LOG + "NetStream.Publish.Start for broadcast stream ", logData); + logData.message = "NetStream.Publish.Start for broadcast stream " + streamId; + LOGGER.info(JSON.stringify(logData)); break; case "NetStream.Play.UnpublishNotify": - LOGGER.debug("NetStream.Play.UnpublishNotify for broadcast stream " + streamId); - JSLog.debug(LOG + "NetStream.Play.UnpublishNotify for broadcast stream ", logData); + logData.message = "NetStream.Play.UnpublishNotify for broadcast stream " + streamId; + LOGGER.info(JSON.stringify(logData)); stopViewing(); break; } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as index ab78afac831d82340a10a5f288d21326ab6f9a5c..ac70f0ada31620d53fa3962da4c4cebb1976f55e 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as @@ -540,13 +540,12 @@ package org.bigbluebutton.modules.users.services private function handleUserUnsharedWebcam(msg: Object):void { var map:Object = JSON.parse(msg.msg); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); - logData.user.webcamStream = map.webcamStream; - logData.user.serverTimestamp = map.serverTimestamp; - JSLog.warn("UserUnsharedWebcam server message", logData); - - logData.message = "UserUnsharedWebcam server message"; + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["webcam"]; + logData.message = "UserUnsharedWebcam server message"; + logData.user.webcamStream = map.webcamStream; + logData.user.serverTimestamp = map.serverTimestamp; + LOGGER.info(JSON.stringify(logData)); UserManager.getInstance().getConference().unsharedWebcam(map.userId, map.webcamStream); @@ -570,8 +569,6 @@ package org.bigbluebutton.modules.users.services } public function participantJoined(joinedUser:Object):void { - LOGGER.info(JSON.stringify(joinedUser)); - var user:BBBUser = new BBBUser(); user.userID = joinedUser.userId; user.name = joinedUser.name; @@ -582,7 +579,8 @@ package org.bigbluebutton.modules.users.services user.userLocked = joinedUser.locked; user.avatarURL = joinedUser.avatarURL; - var logData:Object = new Object(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; logData.user = user; logData.message = "User joined."; LOGGER.info(JSON.stringify(logData)); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as index 9881a0fe0f5a13b9fe736c68e6ef0d8c80bddd2e..ba3404ea525ddab5f21ed6f0adc3cc7d5dc75a04 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as @@ -23,7 +23,7 @@ package org.bigbluebutton.modules.users.services import org.bigbluebutton.core.BBB; import org.bigbluebutton.core.UsersUtil; import org.bigbluebutton.core.managers.ConnectionManager; - import org.bigbluebutton.main.api.JSLog; + import org.bigbluebutton.main.api.JSLog; public class MessageSender { private static const LOGGER:ILogger = getClassLogger(MessageSender); @@ -38,7 +38,11 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.userId = userID; + logData.message = "Error occured ejecting user."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -50,7 +54,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured querying users."; + LOGGER.info(JSON.stringify(logData)); } ); } @@ -66,26 +73,34 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured assigning presenter."; + LOGGER.info(JSON.stringify(logData)); }, message ); - } - - public function emojiStatus(userID:String, emoji:String):void { - var message:Object = new Object(); - message["emojiStatus"] = emoji; - message["userId"] = userID; - var _nc:ConnectionManager = BBB.initConnectionManager(); - _nc.sendMessage("participants.userEmojiStatus", function(result:String):void - { // On successful result - }, function(status:String):void - { // status - On error occurred - LOGGER.error(status); - }, - message - ); - } + + } + + public function emojiStatus(userID:String, emoji:String):void { + var message:Object = new Object(); + message["emojiStatus"] = emoji; + message["userId"] = userID; + + var _nc:ConnectionManager = BBB.initConnectionManager(); + _nc.sendMessage("participants.userEmojiStatus", + function(result:String):void { // On successful result + + }, function(status:String):void { // status - On error occurred + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured setting emoji status."; + LOGGER.info(JSON.stringify(logData)); + }, + message + ); + } public function createBreakoutRooms(meetingId:String, rooms:Array, durationInMinutes:int, record:Boolean, redirectOnJoin:Boolean):void { var message:Object = new Object(); @@ -102,7 +117,10 @@ package org.bigbluebutton.modules.users.services // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured creating breakout rooms."; + LOGGER.info(JSON.stringify(logData)); }, jsonMsg ); @@ -121,7 +139,10 @@ package org.bigbluebutton.modules.users.services _nc.sendMessage("breakoutroom.requestBreakoutJoinUrl", function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured requesting breakout room join url."; + LOGGER.info(JSON.stringify(logData)); }, jsonMsg); } @@ -132,7 +153,10 @@ package org.bigbluebutton.modules.users.services // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured listen on breakout room."; + LOGGER.info(JSON.stringify(logData)); }, JSON.stringify({meetingId: meetingId, targetMeetingId: targetMeetingId, userId: userId}) ); @@ -145,7 +169,10 @@ package org.bigbluebutton.modules.users.services // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured ending breakout rooms."; + LOGGER.info(JSON.stringify(logData)); }, JSON.stringify({meetingId: meetingId}) ); @@ -157,29 +184,33 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured sharing webcam."; + LOGGER.info(JSON.stringify(logData)); }, streamName ); } public function removeStream(userID:String, streamName:String):void { - - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); - - JSLog.warn("User stopped sharing webcam event.", logData); - - logData.streamId = streamName; - logData.message = "User stopped sharing webcam"; - LOGGER.info(JSON.stringify(logData)); - + + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["webcam"]; + logData.streamId = streamName; + logData.message = "User stopped sharing webcam"; + LOGGER.info(JSON.stringify(logData)); + + var _nc:ConnectionManager = BBB.initConnectionManager(); _nc.sendMessage("participants.unshareWebcam", function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured unsharing webcam."; + LOGGER.info(JSON.stringify(logData)); }, streamName ); @@ -192,7 +223,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured getting recording status."; + LOGGER.info(JSON.stringify(logData)); } ); //_netConnection.call } @@ -208,7 +242,10 @@ package org.bigbluebutton.modules.users.services // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured querying breakout rooms."; + LOGGER.info(JSON.stringify(logData)); }, jsonMsg ); @@ -225,7 +262,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured change recording status."; + LOGGER.info(JSON.stringify(logData)); }, message ); //_netConnection.call @@ -241,7 +281,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured muting all users."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -257,7 +300,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured muting all users except presenter."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -274,7 +320,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured muting user."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -290,7 +339,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured ejecting user."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -305,7 +357,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occuredget room mute state."; + LOGGER.info(JSON.stringify(logData)); } ); } @@ -319,7 +374,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured getting lock state."; + LOGGER.info(JSON.stringify(logData)); } ); } @@ -367,7 +425,10 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured setting user lock status."; + LOGGER.info(JSON.stringify(logData)); }, message ); @@ -421,10 +482,13 @@ package org.bigbluebutton.modules.users.services function(result:String):void { // On successful result }, function(status:String):void { // status - On error occurred - LOGGER.error(status); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["apps"]; + logData.message = "Error occured saving lock settings."; + LOGGER.info(JSON.stringify(logData)); }, newLockSettings ); } } -} +} diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as index 6dfe4584e17c078b4c89e3da5e6be2b6c1649436..0a1590bc2c0d760821d44b9f87b541fde3cde56f 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as @@ -85,15 +85,15 @@ package org.bigbluebutton.modules.videoconf.business } private function onAsyncError(event:AsyncErrorEvent):void{ - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["webcam"]; logData.message = "VIDEO WEBCAM onAsyncError"; LOGGER.error(JSON.stringify(logData)); } private function onIOError(event:NetStatusEvent):void{ - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["webcam"]; logData.message = "VIDEO WEBCAM onIOError"; LOGGER.error(JSON.stringify(logData)); } @@ -112,8 +112,8 @@ package org.bigbluebutton.modules.videoconf.business private function onNetStatus(event:NetStatusEvent):void{ LOGGER.debug("[{0}] for [{1}]", [event.info.code, _url]); - var logData:Object = new Object(); - logData.user = UsersUtil.getUserData(); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["webcam"]; logData.user.eventCode = event.info.code + "[reconnecting=" + reconnecting + ",reconnect=" + reconnect + "]"; switch(event.info.code){ @@ -123,7 +123,6 @@ package org.bigbluebutton.modules.videoconf.business break; case "NetStream.Play.Failed": if (reconnect) { - JSLog.warn("NetStream.Play.Failed from bbb-video", logData); logData.message = "NetStream.Play.Failed from bbb-video"; LOGGER.info(JSON.stringify(logData)); } @@ -131,7 +130,6 @@ package org.bigbluebutton.modules.videoconf.business break; case "NetStream.Play.Stop": if (reconnect) { - JSLog.warn("NetStream.Play.Stop from bbb-video", logData); logData.message = "NetStream.Play.Stop from bbb-video"; LOGGER.info(JSON.stringify(logData)); } @@ -162,7 +160,6 @@ package org.bigbluebutton.modules.videoconf.business } if (reconnect) { - JSLog.warn("NetConnection.Connect.Failed from bbb-video", logData); logData.message = "NetConnection.Connect.Failed from bbb-video"; LOGGER.info(JSON.stringify(logData)); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/models/WhiteboardModel.as b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/models/WhiteboardModel.as old mode 100644 new mode 100755 index fd1c4b09996ff3be9d427477b502594fe747f46a..792d6246b1a267cac1eadb31bf8966935ed023fc --- a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/models/WhiteboardModel.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/models/WhiteboardModel.as @@ -21,7 +21,7 @@ package org.bigbluebutton.modules.whiteboard.models import flash.events.IEventDispatcher; import mx.collections.ArrayCollection; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.modules.present.model.Page; @@ -51,7 +51,7 @@ package org.bigbluebutton.modules.whiteboard.models } public function addAnnotation(annotation:Annotation):void { - LOGGER.debug("*** Adding annotation [{0},{1},{2}] ****", [annotation.id, annotation.type, annotation.status]); + // LOGGER.debug("*** Adding annotation [{0},{1},{2}] ****", [annotation.id, annotation.type, annotation.status]); var wb:Whiteboard; if (annotation.status == DrawObject.DRAW_START || annotation.type == DrawObject.POLL || annotation.status == TextObject.TEXT_CREATED) { @@ -70,7 +70,7 @@ package org.bigbluebutton.modules.whiteboard.models } } - LOGGER.debug("*** Dispatching WhiteboardUpdate.BOARD_UPDATED Event ****"); + // LOGGER.debug("*** Dispatching WhiteboardUpdate.BOARD_UPDATED Event ****"); var event:WhiteboardUpdate = new WhiteboardUpdate(WhiteboardUpdate.BOARD_UPDATED); event.annotation = annotation; _dispatcher.dispatchEvent(event); @@ -86,13 +86,13 @@ package org.bigbluebutton.modules.whiteboard.models public function addAnnotationFromHistory(whiteboardId:String, annotation:Array):void { - LOGGER.debug("addAnnotationFromHistory: wb id=[{0}]", [whiteboardId]); + //LOGGER.debug("addAnnotationFromHistory: wb id=[{0}]", [whiteboardId]); var wb:Whiteboard = getWhiteboard(whiteboardId); if (wb != null) { - LOGGER.debug("Whiteboard is already present. Adding shapes."); + // LOGGER.debug("Whiteboard is already present. Adding shapes."); addShapes(wb, annotation); } else { - LOGGER.debug("Whiteboard is NOT present. Creating WB and adding shapes."); + // LOGGER.debug("Whiteboard is NOT present. Creating WB and adding shapes."); wb = new Whiteboard(whiteboardId); addShapes(wb, annotation); _whiteboards.addItem(wb); diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as index 917451c0f61724e15321e1cd1c46127bdbc381ea..a29d34af03943a0de3fd11b46bf680c657b83892 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as @@ -32,7 +32,7 @@ package org.bigbluebutton.util.i18n import mx.resources.IResourceManager; import mx.resources.ResourceManager; import mx.utils.URLUtil; - + import org.bigbluebutton.core.UsersUtil; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.common.events.LocaleChangeEvent; @@ -180,7 +180,10 @@ package org.bigbluebutton.util.i18n localeIndex = getIndexForLocale(preferredLocale); } else { if (preferredLocale != MASTER_LOCALE) { - LOGGER.debug("Failed to load locale [{0}].", [preferredLocale]); + var logData:Object = UsersUtil.initLogData(); + logData.tags = ["locale"]; + logData.message = "Failed to load locale = " + preferredLocale; + LOGGER.info(JSON.stringify(logData)); } resourceManager.localeChain = [MASTER_LOCALE];