From 5fed6779d439c997c95b7f0a0da06b716a1a882f Mon Sep 17 00:00:00 2001
From: Richard Alam <ritzalam@gmail.com>
Date: Fri, 2 Jun 2017 09:35:24 -0700
Subject: [PATCH]  - enable logging of akka system in bbb-web

---
 .../bigbluebutton/api2/BbbWebApiGWApp.scala   |  8 ++++
 .../redis/AppsRedisSubscriberActor.scala      |  4 +-
 .../api2/endpoint/redis/RedisPublisher.scala  |  5 ++-
 .../api2/meeting/MeetingsManagerActor.scala   |  2 +-
 .../grails-app/conf/application.conf          |  0
 .../grails-app/conf/bbb-web.conf              | 43 -------------------
 bigbluebutton-web/grails-app/conf/logback.xml | 28 ++++++++++++
 7 files changed, 43 insertions(+), 47 deletions(-)
 rename bbb-common-web/src/main/resources/reference.conf => bigbluebutton-web/grails-app/conf/application.conf (100%)
 delete mode 100755 bigbluebutton-web/grails-app/conf/bbb-web.conf
 create mode 100755 bigbluebutton-web/grails-app/conf/logback.xml

diff --git a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala
index 6089ec9611..56d71de83c 100755
--- a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala
+++ b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala
@@ -5,6 +5,7 @@ import java.util.Map
 
 import scala.collection.JavaConverters._
 import akka.actor.ActorSystem
+import akka.event.Logging
 import org.bigbluebutton.api2.bus._
 import org.bigbluebutton.api2.endpoint.redis.{AppsRedisSubscriberActor, MessageSender, RedisPublisher}
 import org.bigbluebutton.api2.meeting.{CreateMeetingMsg, MeetingsManagerActor, RegisterUser}
@@ -15,8 +16,14 @@ import scala.concurrent.duration._
 class BbbWebApiGWApp(val oldMessageReceivedGW: OldMessageReceivedGW) extends IBbbWebApiGWApp with SystemConfiguration{
 
   implicit val system = ActorSystem("bbb-web-common")
+
   implicit val timeout = akka.util.Timeout(3 seconds)
 
+  val log = Logging(system, getClass)
+
+  println("*********** meetingManagerChannel = " + meetingManagerChannel)
+  log.debug("*********** meetingManagerChannel = " + meetingManagerChannel)
+
   private val jsonMsgToAkkaAppsBus = new JsonMsgToAkkaAppsBus
   private val redisPublisher = new RedisPublisher(system)
   private val msgSender: MessageSender = new MessageSender(redisPublisher)
@@ -56,6 +63,7 @@ class BbbWebApiGWApp(val oldMessageReceivedGW: OldMessageReceivedGW) extends IBb
     * External APIs for Gateway
     */
   def send(channel: String, json: String): Unit = {
+    log.debug("Sending msg. channel={} msg={}", channel, json)
     jsonMsgToAkkaAppsBus.publish(JsonMsgToAkkaAppsBusMsg(toAkkaAppsJsonChannel, new JsonMsgToSendToAkkaApps(channel, json)))
   }
 
diff --git a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/AppsRedisSubscriberActor.scala b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/AppsRedisSubscriberActor.scala
index 32e4654c97..3b566c6f2f 100755
--- a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/AppsRedisSubscriberActor.scala
+++ b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/AppsRedisSubscriberActor.scala
@@ -54,10 +54,10 @@ class AppsRedisSubscriberActor(jsonMsgBus: JsonMsgFromAkkaAppsBus, oldMessageEve
   }
 
   def onPMessage(pmessage: PMessage) {
-    //log.debug(s"RECEIVED:\n ${pmessage.data.utf8String} \n")
+    log.debug(s"RECEIVED:\n ${pmessage.data.utf8String} \n")
     val receivedJsonMessage = new OldReceivedJsonMessage(pmessage.patternMatched,
       pmessage.channel, pmessage.data.utf8String)
 
     oldMessageEventBus.publish(OldIncomingJsonMessage(fromAkkaAppsOldJsonChannel, receivedJsonMessage))
   }
-}
\ No newline at end of file
+}
diff --git a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/RedisPublisher.scala b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/RedisPublisher.scala
index 1ceddaf3f6..d720c7eef4 100755
--- a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/RedisPublisher.scala
+++ b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/RedisPublisher.scala
@@ -1,6 +1,7 @@
 package org.bigbluebutton.api2.endpoint.redis
 
 import akka.actor.ActorSystem
+import akka.event.Logging
 import akka.util.ByteString
 import org.bigbluebutton.api2.SystemConfiguration
 import redis.RedisClient
@@ -9,12 +10,14 @@ class RedisPublisher(val system: ActorSystem) extends SystemConfiguration {
 
   val redis = RedisClient(redisHost, redisPort)(system)
 
+  val log = Logging(system, getClass)
+
   // Set the name of this client to be able to distinguish when doing
   // CLIENT LIST on redis-cli
   redis.clientSetname("BbbWebPub")
 
   def publish(channel: String, data: String) {
-    println("PUBLISH TO \n[" + channel + "]: \n " + data + "\n")
+    log.debug("PUBLISH TO \n[" + channel + "]: \n " + data + "\n")
     redis.publish(channel, ByteString(data))
   }
 
diff --git a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/meeting/MeetingsManagerActor.scala b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/meeting/MeetingsManagerActor.scala
index 35c5eb777f..eae5fcca99 100755
--- a/bbb-common-web/src/main/scala/org/bigbluebutton/api2/meeting/MeetingsManagerActor.scala
+++ b/bbb-common-web/src/main/scala/org/bigbluebutton/api2/meeting/MeetingsManagerActor.scala
@@ -101,7 +101,7 @@ class MeetingsManagerActor(val msgToAkkaAppsEventBus: MsgToAkkaAppsEventBus)
   private def handleBbbCommonEnvCoreMsg(msg: BbbCommonEnvCoreMsg): Unit = {
     msg.core match {
       case m: MeetingCreatedEvtMsg => handleMeetingCreatedEvtMsg(m)
-      case _ => println("***** Cannot handle " + msg.envelope.name)
+      case _ => log.error("***** Cannot handle " + msg.envelope.name)
     }
   }
 }
diff --git a/bbb-common-web/src/main/resources/reference.conf b/bigbluebutton-web/grails-app/conf/application.conf
similarity index 100%
rename from bbb-common-web/src/main/resources/reference.conf
rename to bigbluebutton-web/grails-app/conf/application.conf
diff --git a/bigbluebutton-web/grails-app/conf/bbb-web.conf b/bigbluebutton-web/grails-app/conf/bbb-web.conf
deleted file mode 100755
index f5ba5981ea..0000000000
--- a/bigbluebutton-web/grails-app/conf/bbb-web.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-akka {
-  actor {
-    debug {
-      # enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
-      autoreceive = on
-      # enable DEBUG logging of actor lifecycle changes
-      lifecycle = on
-    }
-  }
-  loggers = ["akka.event.slf4j.Slf4jLogger"]
-  loglevel = "DEBUG"
-
-  rediscala-publish-worker-dispatcher {
-    mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
-    # Throughput defines the maximum number of messages to be
-    # processed per actor before the thread jumps to the next actor.
-    # Set to 1 for as fair as possible.
-    throughput = 512
-  }
-
-  rediscala-subscriber-worker-dispatcher {
-    mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
-    # Throughput defines the maximum number of messages to be
-    # processed per actor before the thread jumps to the next actor.
-    # Set to 1 for as fair as possible.
-    throughput = 512
-  }
-}
-
-redis {
-  host="127.0.0.1"
-  port=6379
-  password=""
-  # recording keys should expire in 14 days
-  keyExpiry=1209600
-}
-
-eventBus {
-  meetingManagerChannel = "MeetingManagerChannel"
-  outMessageChannel = "OutgoingMessageChannel"
-  incomingJsonMsgChannel = "IncomingJsonMsgChannel"
-  outBbbMsgMsgChannel = "OutBbbMsgChannel"
-}
\ No newline at end of file
diff --git a/bigbluebutton-web/grails-app/conf/logback.xml b/bigbluebutton-web/grails-app/conf/logback.xml
new file mode 100755
index 0000000000..b8a52be3a2
--- /dev/null
+++ b/bigbluebutton-web/grails-app/conf/logback.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+  <encoder>
+    <pattern>%date{ISO8601} %-5level %logger{36} - %msg%n</pattern>
+  </encoder>
+</appender>
+
+  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <File>logs/bbb-apps-akka.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <FileNamePattern>/var/log/bigbluebutton/bbb-web-akka.%d{yyyy-MM-dd}.log</FileNamePattern>
+      <!-- keep 30 days worth of history -->
+      <MaxHistory>5</MaxHistory>
+    </rollingPolicy>
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{"yyyy-MM-dd HH:mm:ss,SSSXXX"} [%thread] %-5level %logger{35} - %msg%n</Pattern>
+    </layout>
+  </appender>
+      
+    <logger name="akka" level="INFO" />
+    <logger name="org.bigbluebutton" level="DEBUG" />
+
+    <root level="DEBUG">
+        <appender-ref ref="STDOUT"/>
+        <appender-ref ref="FILE" />
+    </root>
+</configuration>
-- 
GitLab