LogActorというakkaアクターを作成しました。LogActorsのreceiveメソッドは、他のアクターからのメッセージを処理し、指定されたログレベルにそれらをログに記録します。
私は2つの方法で異なるレベルを区別することができます。最初の1つ:
import LogLevel._
object LogLevel extends Enumeration {
type LogLevel = Value
val Error, Warning, Info, Debug = Value
}
case class LogMessage(level : LogLevel, msg : String)
2番目:(編集)
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)
どちらの方法がより効率的ですか?ケースクラスと一致する、または列挙値と一致するのにかかる時間は短くなりますか?
(私はこの質問を読みましたが、実行時の問題に関する回答はありません)