Създадох akka актьор, наречен LogActor. Методът за получаване на LogActors обработва съобщения от други актьори и ги регистрира до определеното ниво на журнал.
Мога да разгранича различните нива по 2 начина. Първият:
import LogLevel._
object LogLevel extends Enumeration {
type LogLevel = Value
val Error, Warning, Info, Debug = Value
}
case class LogMessage(level : LogLevel, msg : String)
Второто: (РЕДАКТИРАНЕ)
abstract class LogMessage(msg : String)
case class LogMessageError(msg : String) extends LogMessage(msg)
case class LogMessageWarning(msg : String) extends LogMessage(msg)
case class LogMessageInfo(msg : String) extends LogMessage(msg)
case class LogMessageDebug(msg : String) extends LogMessage(msg)
Кой начин е по-ефективен? отнема ли по-малко време за съпоставяне на клас case или за съпоставяне на enum стойност?
(Прочетох този въпрос, но няма никакъв отговор, отнасящ се до времето за изпълнение проблем)
xxxLogMessage
case класове. - person Malte Schwerhoff   schedule 12.11.2012abstract class LogMessage(msg:String); case class ErrorLogMessage(msg:String) extends LogMessage(msg); ...
Но това няма да ви спести от повтаряне наmsg
. Между другото, това е правилният начин да го направите, наследяването на класове на случаи е силно обезкуражено. - person pedrofurla   schedule 12.11.2012