From 6592311c37c1d886401efd39511a25daa0836abc Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Mon, 23 Apr 2012 11:14:03 +0200 Subject: [PATCH] Making sure that null-messages don't mess up SLF4J handler --- .../akka/event/slf4j/Slf4jEventHandler.scala | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/akka-slf4j/src/main/scala/akka/event/slf4j/Slf4jEventHandler.scala b/akka-slf4j/src/main/scala/akka/event/slf4j/Slf4jEventHandler.scala index 72593d4f76..966f57b938 100644 --- a/akka-slf4j/src/main/scala/akka/event/slf4j/Slf4jEventHandler.scala +++ b/akka-slf4j/src/main/scala/akka/event/slf4j/Slf4jEventHandler.scala @@ -43,25 +43,19 @@ class Slf4jEventHandler extends Actor with SLF4JLogging { case event @ Error(cause, logSource, logClass, message) ⇒ withMdc(logSource, event.thread.getName) { cause match { - case Error.NoCause ⇒ Logger(logClass, logSource).error(message.toString) - case _ ⇒ Logger(logClass, logSource).error(message.toString, cause) + case Error.NoCause | null ⇒ Logger(logClass, logSource).error(if (message != null) message.toString else null) + case cause ⇒ Logger(logClass, logSource).error(if (message != null) message.toString else cause.getLocalizedMessage, cause) } } case event @ Warning(logSource, logClass, message) ⇒ - withMdc(logSource, event.thread.getName) { - Logger(logClass, logSource).warn("{}", message.asInstanceOf[AnyRef]) - } + withMdc(logSource, event.thread.getName) { Logger(logClass, logSource).warn("{}", message.asInstanceOf[AnyRef]) } case event @ Info(logSource, logClass, message) ⇒ - withMdc(logSource, event.thread.getName) { - Logger(logClass, logSource).info("{}", message.asInstanceOf[AnyRef]) - } + withMdc(logSource, event.thread.getName) { Logger(logClass, logSource).info("{}", message.asInstanceOf[AnyRef]) } case event @ Debug(logSource, logClass, message) ⇒ - withMdc(logSource, event.thread.getName) { - Logger(logClass, logSource).debug("{}", message.asInstanceOf[AnyRef]) - } + withMdc(logSource, event.thread.getName) { Logger(logClass, logSource).debug("{}", message.asInstanceOf[AnyRef]) } case InitializeLogger(_) ⇒ log.info("Slf4jEventHandler started")