diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
index 86600c565e13c5126b79d0430fd4141e16607aab..eac7cd74501b2ac4984c3302067d63ef78d6ca60 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
@@ -26,11 +26,14 @@ package org.bigbluebutton.core.managers
 	import flash.net.URLRequest;
 	import flash.net.URLRequestMethod;
 	import flash.net.URLVariables;
-	import flash.utils.Dictionary;	
+	import flash.utils.Dictionary;
+	
 	import mx.core.FlexGlobals;
-	import mx.utils.URLUtil;	
+	import mx.utils.URLUtil;
+	
 	import org.as3commons.logging.api.ILogger;
 	import org.as3commons.logging.api.getClassLogger;
+	import org.bigbluebutton.common.LogUtil;
 	import org.bigbluebutton.core.model.Config;
 	import org.bigbluebutton.main.events.ConfigLoadedEvent;
 	import org.bigbluebutton.main.events.MeetingNotFoundEvent;
@@ -88,7 +91,12 @@ package org.bigbluebutton.core.managers
         dispatcher.dispatchEvent(new MeetingNotFoundEvent(xml.response.logoutURL));
       } else { 
         trace("Getting configXML passed [{0}]", [xml]);
+        
 		_config = new Config(new XML(e.target.data));
+        
+        trace("Initializing logging.");
+        LogUtil.initLogging();
+    
 		dispatcher.dispatchEvent(new ConfigLoadedEvent()); 	
       }
 		}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
index 6bf523ca7ad20b8681e3d84f3368e2558a33b54e..d5db58452d3426841f9814978e83e0b9f376692b 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
@@ -55,7 +55,7 @@ package org.bigbluebutton.modules.screenshare.managers
 		}
 		
 		public function handleStartModuleEvent(module:ScreenshareModule):void {
-			trace(LOG + "Screenshare Module starting");
+      LOGGER.debug(LOG + "Screenshare Module starting");
 			this.module = module;			
 			service.handleStartModuleEvent(module);
       
@@ -65,14 +65,14 @@ package org.bigbluebutton.modules.screenshare.managers
 		}
 		
 		public function handleStopModuleEvent():void {
-			trace(LOG + "Screenshare Module stopping");
+      LOGGER.debug(LOG + "Screenshare Module stopping");
 			publishWindowManager.stopSharing();
 			viewWindowManager.stopViewing();		
 			service.disconnect();
 		}
 		
     public function handleConnectionSuccessEvent():void {
-      trace(LOG + "handle Connection Success Event");
+      LOGGER.debug(LOG + "handle Connection Success Event");
       service.checkIfPresenterIsSharingScreen();  
     }
     
@@ -164,7 +164,7 @@ package org.bigbluebutton.modules.screenshare.managers
     }
     
     public function handleShareStartRequestResponseEvent(event:ShareStartRequestResponseEvent):void {
-      trace(LOG + "handleShareStartRequestResponseEvent");
+      LOGGER.debug(LOG + "handleShareStartRequestResponseEvent");
       var dispatcher:Dispatcher = new Dispatcher();
       if (event.success) {
         ScreenshareModel.getInstance().authToken = event.token;
@@ -176,7 +176,7 @@ package org.bigbluebutton.modules.screenshare.managers
     }
     
 		public function handleStartSharingEvent(autoStart:Boolean):void {
-			trace(LOG + "handleStartSharingEvent");
+      LOGGER.debug(LOG + "handleStartSharingEvent");
 			//toolbarButtonManager.disableToolbarButton();
 			toolbarButtonManager.startedSharing();
 			var option:ScreenshareOptions = new ScreenshareOptions();
@@ -198,7 +198,7 @@ package org.bigbluebutton.modules.screenshare.managers
 		}
 					
 		private function handleStreamStartEvent(streamId: String, videoWidth:Number, videoHeight:Number):void{
-			trace(LOG + "Received start vieweing command");
+      LOGGER.debug(LOG + "Received start vieweing command");
 			viewWindowManager.startViewing(streamId, videoWidth, videoHeight);
 		}
     
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
index 804ebe1231e8c24403465b26dd3cae7718ea0588..4fada92002660e3e69a44e0fd8361dbcd1dbca59 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as
@@ -72,7 +72,7 @@ package org.bigbluebutton.modules.screenshare.managers
 		}
 			
 		public function startViewing(streamId:String, videoWidth:Number, videoHeight:Number):void{
-			trace(LOG + "ViewerWindowManager::startViewing");
+      LOGGER.debug(LOG + "ViewerWindowManager::startViewing");
 			viewWindow = new ScreenshareViewWindow();
 			viewWindow.startVideo(service.getConnection());
       openWindow(viewWindow);
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageReceiver.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageReceiver.as
index f73ac5901016335a8b62bb6536812cf8b59eb5d8..0274157c8e7e2b71ba4a31e4a969ff2b9af90f78 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageReceiver.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageReceiver.as
@@ -18,7 +18,10 @@
  */
 package org.bigbluebutton.modules.screenshare.services
 {
-  import com.asfusion.mate.events.Dispatcher; 
+  import com.asfusion.mate.events.Dispatcher;
+  
+  import org.as3commons.logging.api.ILogger;
+  import org.as3commons.logging.api.getClassLogger;
   import org.bigbluebutton.modules.screenshare.events.IsSharingScreenEvent;
   import org.bigbluebutton.modules.screenshare.events.ShareStartRequestResponseEvent;
   import org.bigbluebutton.modules.screenshare.events.ShareStartedEvent;
@@ -26,11 +29,13 @@ package org.bigbluebutton.modules.screenshare.services
   import org.bigbluebutton.modules.screenshare.events.StreamStartedEvent;
   import org.bigbluebutton.modules.screenshare.events.StreamStoppedEvent;
   import org.bigbluebutton.modules.screenshare.services.red5.Connection;
-  import org.bigbluebutton.modules.screenshare.services.red5.IMessageListener;
+  import org.bigbluebutton.modules.screenshare.services.red5.IMessageListener;
   
   public class MessageReceiver implements IMessageListener
   {
     private static const LOG:String = "SC::MessageReceiver - ";
+    private static const LOGGER:ILogger = getClassLogger(MessageReceiver);
+    
     private var conn: Connection;
     private var dispatcher:Dispatcher = new Dispatcher();
     
@@ -40,7 +45,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
 
     public function onMessage(messageName:String, message:Object):void {
-      trace(LOG + " Received message " + messageName);
+      LOGGER.debug(LOG + " Received message " + messageName);
 
       switch (messageName) {
         case "isSharingScreenRequestResponse":
@@ -67,7 +72,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
 
     private function handleStartShareRequestResponse(message:Object):void {
-      trace(LOG + "handleStartShareRequestResponse " + message);      
+      LOGGER.debug(LOG + "handleStartShareRequestResponse " + message);      
       var map:Object = JSON.parse(message.msg);      
       if (map.hasOwnProperty("authToken") && map.hasOwnProperty("jnlp")) {
         var shareSuccessEvent: ShareStartRequestResponseEvent = new ShareStartRequestResponseEvent(map.authToken, map.jnlp, true);
@@ -79,7 +84,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
 
     private function handleScreenShareStartedMessage(message:Object):void {
-      trace(LOG + "handleScreenShareStartedMessage " + message);      
+      LOGGER.debug(LOG + "handleScreenShareStartedMessage " + message);      
       var map:Object = JSON.parse(message.msg);      
       if (map.hasOwnProperty("streamId")) {
         var streamEvent: ShareStartedEvent = new ShareStartedEvent(map.streamId);
@@ -88,7 +93,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
 
     private function handleScreenShareStoppedMessage(message:Object):void {
-      trace(LOG + "handleScreenShareStoppedMessage " + message);      
+      LOGGER.debug(LOG + "handleScreenShareStoppedMessage " + message);      
       var map:Object = JSON.parse(message.msg);      
       if (map.hasOwnProperty("streamId")) {
         var streamEvent: ShareStoppedEvent = new ShareStoppedEvent(map.streamId);
@@ -97,7 +102,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
     
     private function handleScreenStreamStartedMessage(message:Object):void {
-      trace(LOG + "handleScreenStreamStartedMessage " + message);      
+      LOGGER.debug(LOG + "handleScreenStreamStartedMessage " + message);      
       var map:Object = JSON.parse(message.msg);      
       if (map.hasOwnProperty("streamId") && map.hasOwnProperty("width") &&
         map.hasOwnProperty("height") && map.hasOwnProperty("url")) {
@@ -108,7 +113,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
     
     private function handleScreenStreamStoppedMessage(message:Object):void {
-      trace(LOG + "handleScreenStreamStoppedMessage " + message);      
+      LOGGER.debug(LOG + "handleScreenStreamStoppedMessage " + message);      
       var map:Object = JSON.parse(message.msg);      
       if (map.hasOwnProperty("streamId")) {
         var streamEvent: StreamStoppedEvent = new StreamStoppedEvent(map.streamId);
@@ -117,7 +122,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
     
     private function handleIsSharingScreenRequestResponse(message:Object):void {
-      trace(LOG + "handleIsSharingScreenRequestResponse " + message);
+      LOGGER.debug(LOG + "handleIsSharingScreenRequestResponse " + message);
       var map:Object = JSON.parse(message.msg);
       if (map.hasOwnProperty("sharing") && map.sharing) {
         if (map.hasOwnProperty("streamId") && map.hasOwnProperty("width") &&
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
index b189930c3c361ea587d32469c48b75ab4acaf5b3..c4fae5543f81b58b173259350c4567352d4a0237 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
@@ -21,8 +21,10 @@ package org.bigbluebutton.modules.screenshare.services
 	import com.asfusion.mate.events.Dispatcher;
 	
 	import flash.net.NetConnection;
+  import org.as3commons.logging.api.ILogger;
+  import org.as3commons.logging.api.getClassLogger;
 	import org.bigbluebutton.core.UsersUtil;
-	import org.bigbluebutton.modules.screenshare.services.red5.Connection;
+	import org.bigbluebutton.modules.screenshare.services.red5.Connection;
 	
 	/**
 	 * The DeskShareProxy communicates with the Red5 deskShare server application 
@@ -32,6 +34,7 @@ package org.bigbluebutton.modules.screenshare.services
 	public class ScreenshareService
 	{	
     private static const LOG:String = "SC::ScreenshareService - ";	
+    private static const LOGGER:ILogger = getClassLogger(ScreenshareService);
     
 		private var conn:Connection;
 
@@ -49,7 +52,7 @@ package org.bigbluebutton.modules.screenshare.services
 		}
 		
 		public function handleStartModuleEvent(module:ScreenshareModule):void {
-			trace(LOG + "Screenshare Module starting");
+      LOGGER.debug(LOG + "Screenshare Module starting");
 			this.module = module;			
 			connect(module.uri, module.getRoom());
 		}
@@ -57,7 +60,7 @@ package org.bigbluebutton.modules.screenshare.services
 		public function connect(uri:String, room:String):void {
 			this.uri = uri;
       this.room = room;
-			trace(LOG + "Screenshare Service connecting to " + uri);
+      LOGGER.debug(LOG + "Screenshare Service connecting to " + uri);
 			conn = new Connection(room);
 
       sender = new MessageSender(conn);
@@ -76,7 +79,7 @@ package org.bigbluebutton.modules.screenshare.services
     }
     
     public function checkIfPresenterIsSharingScreen():void {
-      trace(LOG + "check if presenter is sharing screen");
+      LOGGER.debug(LOG + "check if presenter is sharing screen");
       sender.isScreenSharing(UsersUtil.getInternalMeetingID());
     }
 		
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
index 6529e729d50a405f8fe7fe2ddcaa52346f31deaf..4f5163e4fab22c6f86f3f18e80a766547f1257ab 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
@@ -63,8 +63,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
       import org.bigbluebutton.util.i18n.ResourceUtil;
       import org.bigbluebutton.core.BBB;
+      import org.as3commons.logging.api.ILogger;
+      import org.as3commons.logging.api.getClassLogger;
       
       private static const LOG:String = "SC::ScreensharePublishWIndow - ";	
+      private static const LOGGER:ILogger = getClassLogger(ScreensharePublishWindow);
       
       public static const SCALE:Number = 5;
       private static const VID_HEIGHT_PAD:Number = 73;
@@ -160,7 +163,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       }
       
       public function shareScreen(fullScreen:Boolean):void {
-        trace(LOG + "Calling shareScreen");
+        LOGGER.debug(LOG + "Calling shareScreen");
         btnFSPublish.enabled = false;
         btnRegionPublish.enabled = false;
         startSharing(connection, uri, room, fullScreen);
@@ -172,12 +175,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         sharingFullScreen = fullScreen;
         var authToken:String = ScreenshareModel.getInstance().authToken;
         var jnlp: String = ScreenshareModel.getInstance().jnlp;
-        trace(LOG + "StartScreensharing jnlp=" + jnlp + " token=" + authToken);
+        LOGGER.debug(LOG + "StartScreensharing jnlp=" + jnlp + " token=" + authToken);
         ExternalInterface.call("startScreensharing", jnlp, UsersUtil.getInternalMeetingID(), authToken, fullScreen);
       }
       
       public function stopSharing():void {
-        trace(LOG + "Calling stopSharing");
+        LOGGER.debug(LOG + "Calling stopSharing");
         if (streaming) {
           stopStream();
           var streamEvent:RequestToStopSharing = new RequestToStopSharing();
@@ -202,7 +205,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       }
            
       private function handleStartViewStreamEvent(event:ViewStreamEvent):void{
-        trace(LOG + "handleStartViewStreamEvent");
+        LOGGER.debug(LOG + "handleStartViewStreamEvent");
         var width: int = ScreenshareModel.getInstance().width;
         var height: int = ScreenshareModel.getInstance().height;
         var streamId: String = ScreenshareModel.getInstance().streamId;
@@ -213,7 +216,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         
         removeHowToHelpArea();
         
-        trace(LOG + "Viewing stream =[" + streamId + "]");
+        LOGGER.debug(LOG + "Viewing stream =[" + streamId + "]");
         streaming = true;
         
         // Store capture dimensions so we can position cursor properly.
@@ -240,7 +243,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
           vidH = captureHeight;
         }
         
-        trace("deskshare preview[" + captureWidth + "," + captureHeight + "][" + vidW + "," + vidH + "]");
+        LOGGER.debug("deskshare preview[" + captureWidth + "," + captureHeight + "][" + vidW + "," + vidH + "]");
         video = new Video(vidW, vidH);
         video.width = vidW;
         video.height = vidH;
@@ -269,7 +272,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       }
       
       public function onMetaData(info:Object):void{
-        trace("metadata: width=" + info.width + " height=" + info.height);
+        LOGGER.debug("metadata: width=" + info.width + " height=" + info.height);
       }
       
       private function stopStream():void{
@@ -280,20 +283,20 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       }
       
       private function onAsyncError(e:AsyncErrorEvent):void{
-        trace("VIdeoWindow::asyncerror " + e.toString());
+        LOGGER.debug("VIdeoWindow::asyncerror " + e.toString());
       }
       
       private function onNetStatus(e:NetStatusEvent):void{
         switch(e.info.code){
           case "NetStream.Publish.Start":
-            trace("NetStream.Publish.Start for broadcast stream " + stream);
+            LOGGER.debug("NetStream.Publish.Start for broadcast stream " + stream);
             break;
           case "NetStream.Play.UnpublishNotify":
-            trace("NetStream.Play.UnpublishNotify for broadcast stream " + stream);
+            LOGGER.debug("NetStream.Play.UnpublishNotify for broadcast stream " + stream);
             stopSharing();
             break;
           case "NetStream.Play.Start":
-            trace("Netstatus: " + e.info.code);
+            LOGGER.debug("Netstatus: " + e.info.code);
             globalDispatcher.dispatchEvent(new BBBEvent(BBBEvent.DESKSHARE_STARTED));
         }
       }
@@ -358,7 +361,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         var option:ScreenshareOptions = new ScreenshareOptions();
         option.parseOptions();
         var DEFAULT_HELP_URL:String = option.helpUrl;
-        trace("onHelpButtonClicked - " + DEFAULT_HELP_URL);
+        LOGGER.debug("onHelpButtonClicked - " + DEFAULT_HELP_URL);
         navigateToURL(new URLRequest(DEFAULT_HELP_URL), "_blank")
       }
       
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 b34b79205aa483e5c5c1353ea785334f50c63686..c0db7c1ead8cc51de499b3a632507e8bde406cfc 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
@@ -51,8 +51,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       import org.bigbluebutton.modules.screenshare.model.ScreenshareModel;
       import org.bigbluebutton.modules.screenshare.model.ScreenshareOptions;
       import org.bigbluebutton.util.i18n.ResourceUtil;
+      import org.as3commons.logging.api.ILogger;
+      import org.as3commons.logging.api.getClassLogger;
       
       private static const LOG:String = "SC::ScreenshareViewWIndow - ";
+      private static const LOGGER:ILogger = getClassLogger(ScreenshareViewWindow);
       
 			private var screenHeight:Number = Capabilities.screenResolutionY;
 			private var screenWidth:Number = Capabilities.screenResolutionX;
@@ -198,7 +201,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			}
 						
 			private function onAsyncError(e:AsyncErrorEvent):void{
-				trace(LOG + "asyncerror " + e.toString());
+        LOGGER.debug(LOG + "asyncerror " + e.toString());
         var logData:Object = new Object();
         logData.error = e.toString();
         JSLog.debug(LOG + "asyncerror ", logData);
@@ -210,7 +213,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         
 				switch(e.info.code){
   				case "NetStream.Play.Start":
-  					trace(LOG + "NetStream.Publish.Start for broadcast stream " + streamId);
+            LOGGER.debug(LOG + "NetStream.Publish.Start for broadcast stream " + streamId);
             JSLog.debug(LOG + "NetStream.Publish.Start for broadcast stream ", logData);
   				  var dispatcher: Dispatcher  = new Dispatcher();
             var viewEvent:StartedViewingEvent = new StartedViewingEvent(StartedViewingEvent.STARTED_VIEWING_EVENT);
@@ -218,7 +221,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
   				  dispatcher.dispatchEvent(viewEvent);
   					break;
   				case "NetStream.Play.UnpublishNotify":
-  					trace(LOG + "NetStream.Play.UnpublishNotify for broadcast stream " + streamId);
+            LOGGER.debug(LOG + "NetStream.Play.UnpublishNotify for broadcast stream " + streamId);
             JSLog.debug(LOG + "NetStream.Play.UnpublishNotify for broadcast stream ", logData);
   					stopViewing();
   					break;