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